Идентификаторы мест однозначно идентифицируют место в базе данных 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 рекомендует обновлять идентификаторы мест, если им больше 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.
Этот запрос также может вернуть код статуса NOT_FOUND
. Одна из стратегий — сохранить исходный запрос, который вернул каждый идентификатор места. Если идентификатор места становится недействительным, вы можете повторно отправить этот запрос, чтобы получить свежие результаты. Эти результаты могут включать или не включать исходное место. Однако этот запрос является платным.
Коды ошибок при использовании идентификаторов мест
Код статуса INVALID_REQUEST
указывает, что указанный идентификатор места недействителен. INVALID_REQUEST
может быть возвращен, когда идентификатор места был усечен или иным образом изменен и больше не является правильным.
Код статуса NOT_FOUND
указывает на то, что указанный идентификатор места устарел. Идентификатор места может устареть, если компания закрывается или переезжает в новое место. Идентификаторы мест могут меняться из-за обновлений в базе данных Google Maps. В таких случаях место может получить новый идентификатор места, а старый идентификатор возвращает ответ NOT_FOUND
.
В частности, некоторые типы идентификаторов мест иногда могут вызывать ответ 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