2015-05-26 7 views
7

У меня есть Идентификатор места в Google Maps в моем приложении. Есть ли способ разместить идентификатор места в URL-адресе и напрямую связать его с этой страницей? Или это нужно сделать через URL?Как получить прямую ссылку на место на картах Google с идентификатором места

Я не могу найти ничего подробного в документах. Я пробовал ниже, но он просто получает меня стандартный Google Maps страницы:

https://maps.google.com/maps?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4 
+0

возможно дубликат [Как получить координаты местоположения зная place_id с помощью Google JavaScript API] (http://stackoverflow.com/questions/29659688/how-to-get-location-codes-know-place-id-via-google-javascript-api) – geocodezip

+0

Возможный дубликат [Google Map добавить маркер с использованием идентификатора места] (http: // stackoverflow.com/questions/29723134/google-map-add-marker-using-place-id) – geocodezip

ответ

0

Не напрямую, с помощью placeID вы можете получить разнообразную информацию в формате JSON или XML-формате, среди них есть и латы LNG места и его адрес, с которым вы можете легко найти карту google developer doc

-2

правильный формат, в это время, чтобы произвести общую связь, которая идет непосредственно исправить Google место является: https://maps.google.com/?cid=[place_id]&t=[maptype]

Карта параметр типа «t», по-видимому, необходим. Без него карты Google, похоже, выполняют более общий поиск, когда открывается ссылка, которая иногда бывает успешной, а иногда и нет. С его помощью карты открываются для правильного места каждый раз, независимо от того, открывается ли он в браузере или в приложении на мобильном устройстве.

Установите этот параметр в «m» для карты улиц и «k» для спутниковой карты.

Много ответов на SO показывают следующий синтаксис, который часто тянет к нежелательным результатам, если в двух местах одного и того же названия находятся рядом, например: https://www.google.com/maps/place/Starbucks/@43.088554,-88.06579,17z/

Если вы уже используете API Google Адресов, то у вас есть place_id , поэтому я рекомендую использовать его, чтобы избежать двусмысленности.

+0

это не сработало для меня. – Shane

+0

@Shane, каков был источник вашего идентификатора места? Google использует несколько форматов для идентификаторов места – mahatrsna

+0

например: use: https://maps.google.com/?cid=13658998061326453845&t=k – mahatrsna

0

URL-адрес конкретного Google Place возвращается конечной точкой API деталей мест.

Если, например, запрос:

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJV2BQ4laeekgRFauLvdXbFXE&key=YOUR_API_KEY 

Вы увидите, что в возвращенном JSON есть ключ «URL», который указывает на https://maps.google.com/?cid=8148660811851344661

7

В последнее время в мае 2017 года, Google запустил новый API URL-адресов Google Maps. Вы можете прочитать об этом API в официальной документации

https://developers.google.com/maps/documentation/urls/guide

Итак, теперь вы можете построить URL для Google Maps с помощью места ID. В вашем конкретном случае этот URL будет

https://www.google.com/maps/search/?api=1&query=Google&query_place_id=ChIJN1t_tDeuEmsRUsoyG83frY4

Надеется, что это помогает!

+0

Примечание. что этот URL-адрес не поддерживается на iOS 11, так как он пытается открыть приложение для карт, а затем терпит неудачу. –

3

На основании этого ответа: https://stackoverflow.com/a/43970054/2330272

Вы можете использовать:

https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms 
+0

Кто-нибудь нашел документацию из Google для этого? – Klaas

+0

Обратите внимание, что этот URL-адрес не поддерживается на iOS 11, так как он пытается открыть приложение для карт, а затем не работает. –