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

Выберите платформу: Android iOS JavaScript Веб-сервисы
Разработчики из Европейской экономической зоны (ЕЭЗ)

Введение

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

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

Как найти идентификатор места

Если вам нужно узнать идентификатор интересующего вас места, воспользуйтесь приведенной ниже строкой поиска.

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

Обзор

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

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

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

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

Как получить данные о месте по идентификатору

Чаще всего идентификатор места ищут с помощью Places API или библиотеки Places в Maps JavaScript API. Затем используйте идентификатор места, чтобы получить информацию о нем. чтобы запрашивать и получать данные о месте в будущем. Подробнее об этом читайте ниже, в разделе Как сохранить идентификаторы мест для последующего использования.

Пример использования библиотеки Places в Maps JavaScript API

Чтобы использовать идентификатор места в приложении на языке JavaScript, сначала найдите его в объекте PlaceResult, возвращаемом Поиском мест, или с помощью метода getPlace() в сервисе автозаполнение мест (устаревшее). Затем используйте идентификатор места, чтобы получить информацию о нем.

var map;

function initialize() {
  // Create a map centered in Pyrmont, Sydney (Australia).
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -33.8666, lng: 151.1958},
    zoom: 15
  });

  // Search for Google's office in Australia.
  var request = {
    location: map.getCenter(),
    radius: '500',
    query: 'Google Sydney'
  };

  var service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);
}

// Checks that the PlacesServiceStatus is OK, and adds a marker
// using the place ID and location from the PlacesService.
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    var marker = new google.maps.Marker({
      map: map,
      place: {
        placeId: results[0].place_id,
        location: results[0].geometry.location
      }
    });
  }
}

google.maps.event.addDomListener(window, 'load', initialize);

Как сохранить идентификаторы мест для последующего использования

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

Как обновить сохраненные идентификаторы мест

Поскольку идентификаторы мест могут меняться из-за обновлений в базе данных Google Карт, Google рекомендует обновлять идентификаторы мест, если они хранятся более 12 месяцев. Вы можете обновить идентификаторы мест бесплатно, отправив запрос информации о местах и указав только поле place_id в параметре fields.

Этот вызов активирует SKU информация о местах – ID Refresh.

Коды ошибок при использовании идентификаторов мест

INVALID_REQUEST

Код статуса INVALID_REQUEST означает, что указанный идентификатор места недействителен. Вы можете получить код INVALID_REQUEST, если идентификатор места был обрезан или изменен другим способом и его значение стало недействительным.

NOT_FOUND

Код статуса NOT_FOUND означает, что указанный идентификатор места устарел. Так происходит, если организация закрывается или ее адрес меняется. Также это может быть результатом обновления идентификаторов мест в базе данных Google Карт (место получает новый идентификатор, и поэтому запрос со старым возвращает ответ NOT_FOUND).

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

Некоторые идентификаторы мест при запросах к API могут возвращать ответ NOT_FOUND или другой идентификатор. К таким относятся:

  • Почтовые адреса, для которых нет точных совпадений в базе данных Google Карт и которые выводятся по аналогии со схожими адресами.
  • Отрезки длинного маршрута, в запросе которого указан город или другой населенный пункт.
  • Перекрестки.
  • Места с компонентом адреса типа subpremise.

Такие идентификаторы часто принимают форму длинной строки (длина идентификатора места не ограничена). Пример:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4