Введение
Идентификаторы мест однозначно идентифицируют место в базе данных Google Places и на Google Maps. Идентификаторы мест принимаются в запросах к следующим API Карт:
- Получение адреса для идентификатора места в API геокодирования и службе геокодирования, API Карт JavaScript.
- Указание исходной, конечной и промежуточных точек маршрута в Routes API и Directions API (устаревшая версия), а также Directions Service, Maps JavaScript API (устаревшая версия).
- Указание пунктов отправления и назначения в Routes API и Distance Matrix API (устаревшая версия), а также Distance Matrix Service, Maps JavaScript API (устаревшая версия).
- Получение сведений о месте в API Places (новое), Places SDK для Android (новое), Places SDK для iOS (новое) и библиотеке Places.
- Использование параметров Place ID в Maps Embed API.
- Получение поисковых запросов в URL-адресах Карт.
- Отображение ограничений скорости в Roads API.
- Поиск и стилизация граничных полигонов с помощью стилизации границ на основе данных.
Найти идентификатор определенного места
Вы ищете ID определенного места? Используйте поиск ID места ниже, чтобы найти место и получить его ID:
Кроме того, вы можете просмотреть код поиска идентификатора места в документации Maps JavaScript API.
Обзор
Идентификатор места — это текстовый идентификатор, который однозначно идентифицирует место. Длина идентификатора может варьироваться (максимальной длины для идентификаторов места нет). Примеры:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
Идентификаторы мест доступны для большинства местоположений, включая предприятия, достопримечательности, парки и перекрестки. Одно и то же место или местоположение может иметь несколько разных идентификаторов мест. Идентификаторы мест могут меняться со временем.
Вы можете использовать один и тот же идентификатор места в API Places и ряде API платформы Google Maps. Например, вы можете использовать один и тот же идентификатор места для ссылки на место в API Places , API JavaScript Карт , API Geocoding , API Embed Карт и API Roads .
Получить сведения о месте, используя идентификатор места
Распространенный способ использования идентификаторов мест — поиск места (например, с помощью API Places или библиотеки Places в API JavaScript Maps), а затем использование возвращенного идентификатора места для получения сведений о месте. Вы можете сохранить идентификатор места и использовать его для получения тех же сведений о месте позже. Читайте о сохранении идентификаторов мест ниже.
В следующих примерах показано, как запросить URL-адрес значка для Places API (новый) и Places API (устаревший).
API мест (новый)
Используя API Places, вы можете найти идентификатор места, выполнив запрос «Текстовый поиск (новый)» .
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Ответ включает идентификатор места в поле id
, как показано ниже:
{ "places": [ { "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Peace Harmony", "languageCode": "en" } }, ... }
Теперь вы можете сделать запрос сведений о месте (новый) , включив идентификатор места в URL-адрес запроса:
https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY
API мест (устаревший)
Используя API Places, вы можете найти идентификатор места, выполнив запрос Place Search .
Следующий пример представляет собой поисковый запрос для мест типа «ресторан» в радиусе 1500 м от точки в Сиднее, Австралия, содержащий слово «круиз»:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY
Ответ включает идентификатор места в поле place_id
, как показано в этом фрагменте:
{ "html_attributions" : [], "results" : [ { "geometry" : { "location" : { "lat" : -33.870775, "lng" : 151.199025 } }, ... "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0", ... } ], "status" : "OK" }
Теперь вы можете отправить запрос Place Details (Legacy) , указав идентификатор места в параметре place_id
:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY
Сохраните идентификаторы мест для дальнейшего использования.
Идентификаторы мест освобождены от ограничений кэширования, указанных в разделе 3.2.3(b) Условий обслуживания платформы Google Карт. Поэтому вы можете сохранять значения идентификаторов мест для дальнейшего использования.
Обновить сохранённые идентификаторы мест
Поскольку идентификаторы мест могут меняться из-за обновлений в базе данных Google Maps, Google рекомендует обновлять идентификаторы мест, если им больше 12 месяцев. Вы можете обновить идентификаторы мест бесплатно, сделав запрос Place Details , указав только поле идентификатора места в параметре fields
.
API мест (новый)
Например, используя сведения о месте (новые) :
https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY
API мест (устаревший)
Например, с помощью API Places (устаревшая версия) :
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY
Этот вызов активирует Place Detail New Essentials IDs Only или Places Details - ID Refresh SKU.
Коды ошибок при использовании идентификаторов мест
INVALID_REQUEST
Код статуса INVALID_REQUEST
указывает, что указанный идентификатор места недействителен. INVALID_REQUEST
может быть возвращен, когда идентификатор места был усечен или иным образом изменен и больше не является правильным.
NOT_FOUND
Код статуса NOT_FOUND
указывает на то, что указанный идентификатор места устарел. Идентификатор места может устареть, если компания закрывается или переезжает в новое место. Идентификаторы мест также могут меняться из-за обновлений в базе данных Google Maps. В таких случаях место может получить новый идентификатор места, а старый идентификатор возвращает ответ NOT_FOUND
.
Чтобы обновить результаты в случае устаревшего идентификатора места, сохраните исходный запрос, который вернул каждый идентификатор места, и повторно отправьте запрос по мере необходимости. Обратите внимание, что повторно отправленный запрос оплачивается по соответствующему SKU.
Некоторые типы идентификаторов мест иногда могут вызывать ответ NOT_FOUND
, или API может возвращать другой идентификатор места в ответе. Эти типы идентификаторов мест включают:
- Адреса улиц, которые не существуют в Картах Google как точные адреса, но выводятся из диапазона адресов.
- Участки длинного маршрута, где в запросе также указан город или населенный пункт.
- Пересечения.
- Места с компонентом адреса типа
subpremise
.
Эти идентификаторы часто имеют форму длинной строки (максимальной длины для идентификаторов мест не существует). Например:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4