Введение
Идентификаторы мест однозначно идентифицируют место в базе данных 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), а затем использование возвращенного идентификатора места для получения сведений о месте. Вы можете сохранить идентификатор места и использовать его для получения тех же сведений о месте позже. Читайте о сохранении идентификаторов мест ниже.
Пример использования библиотеки Places в Maps JavaScript API
Чтобы использовать идентификатор места в вашем приложении JavaScript, вы должны сначала найти идентификатор, который доступен в PlaceResult
, возвращаемом Place Search , или с помощью getPlace()
в Place Autocomplete (Legacy) сервисе. Затем вы можете использовать идентификатор места для поиска сведений о месте .
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 Maps, Google рекомендует обновлять идентификаторы мест, если им больше 12 месяцев. Вы можете обновить идентификаторы мест бесплатно, сделав запрос Place Details , указав только поле place_id
в параметре fields
.
Этот вызов активирует функцию обновления идентификатора места (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