Идентификаторы мест

Выберите платформу: Android iOS Веб-служба JavaScript

Идентификаторы мест однозначно идентифицируют место в базе данных Google Адресов и на Картах Google. Идентификаторы мест принимаются в запросах к следующим API Карт:

  • Получение адреса для идентификатора места в веб-службе Geocoding API и службе геокодирования Maps JavaScript API.
  • Указание пунктов отправления, назначения и промежуточных путевых точек в веб-службе Routes API и Directions API, а также в службе Directions API JavaScript Maps.
  • Указание пунктов отправления и назначения в API маршрутов и веб-службе API матрицы расстояний, а также в службе матрицы расстояний, API JavaScript Карт.
  • Получение сведений о месте в веб-службе Places API, Places SDK для Android, Places SDK для iOS и библиотеке Places.
  • Использование параметров Place ID в Maps Embed API.
  • Получение поисковых запросов в URL-адресах Карт.
  • Отображение ограничений скорости в Roads API.
  • Поиск и стилизация граничных полигонов в стиле границ на основе данных.

Найти идентификатор определенного места

Вы ищете идентификатор конкретного места? Воспользуйтесь поиском идентификатора места ниже, чтобы найти место и получить его идентификатор:

Кроме того, вы можете просмотреть поиск по идентификатору места с его кодом в документации Maps JavaScript API.

Обзор

Идентификатор места — это текстовый идентификатор, который однозначно идентифицирует место. Длина идентификатора может варьироваться (максимальная длина для идентификаторов мест не установлена). Примеры:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Идентификаторы мест доступны для большинства мест, включая предприятия, достопримечательности, парки и перекрестки. Одно и то же место или локация могут иметь несколько разных идентификаторов мест. Идентификаторы мест могут со временем меняться.

Вы можете использовать один и тот же идентификатор места в Places API и в ряде API платформы Google Maps. Например, вы можете использовать один и тот же идентификатор места для ссылки на место в Places API , Maps JavaScript API , Geocoding API , Maps Embed API и Roads API .

Получить сведения о месте, используя идентификатор места

Распространенный способ использования идентификаторов мест — поиск места (например, с помощью Places API или библиотеки Places в Maps JavaScript API), а затем использование возвращенного идентификатора места для получения сведений о месте. Вы можете сохранить идентификатор места и использовать его для последующего получения тех же сведений о месте. О сохранении идентификаторов мест читайте ниже.

В следующих примерах показано, как запросить URL-адрес значка для Places API (нового) и Places API.

API мест (новое)

Используя Places API, вы можете найти идентификатор места, выполнив запрос текстового поиска (новый) .

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 мест

Используя Places API, вы можете найти идентификатор места, выполнив запрос на поиск места .

Следующий пример представляет собой поисковый запрос мест типа «ресторан» в радиусе 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 , указав идентификатор места в параметре place_id :

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

Сохраняйте идентификаторы мест для дальнейшего использования.

На идентификаторы мест не распространяются ограничения кэширования, указанные в разделе 3.2.3(b) Условий использования платформы Google Maps. Таким образом, вы можете сохранить значения идентификаторов мест для дальнейшего использования.

Обновление сохраненных идентификаторов мест.

Мы рекомендуем обновить идентификаторы мест, если им больше 12 месяцев. Идентификаторы мест можно обновить бесплатно , отправив запрос сведений о месте, указав только поле идентификатора места в параметре fields .

API мест (новое)

Например, используя сведения о месте (новое) :

https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY

API мест

Например, используя устаревший API сведений о местах :

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY

Этот вызов запускает 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