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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Выберите платформу: Android iOS JavaScript Web Service

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

  • Получение адреса для идентификатора места в веб-службе API геокодирования и Службе геокодирования, Maps JavaScript API.
  • Указание исходной, конечной и промежуточных путевых точек в веб-службе Directions API и Directions Service, Maps JavaScript API.
  • Указание пунктов отправления и назначения в веб-службе API матрицы расстояний и службе матрицы расстояний, Maps JavaScript API.
  • Получение сведений о месте в веб-службе Places API, Places SDK для Android, Places SDK для iOS и Places Library, JavaScript API.
  • Использование параметров 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 .

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

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

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

Пример использования Places SDK для iOS

Идентификатор места — это текстовый идентификатор, который однозначно идентифицирует место. В Places SDK для iOS вы можете получить идентификатор места из объекта GMSPlace . Вы можете сохранить идентификатор места и использовать его для повторного получения объекта GMSPlace позже.

Чтобы получить место по ID, вызовите GMSPlacesClient fetchPlaceFromPlaceID: , передав следующие параметры:

  • Строка, содержащая идентификатор места.
  • Один или несколько GMSPlaceField s, указывающих возвращаемые типы данных.
  • Маркер сеанса, если вызов выполняется для завершения запроса автозаполнения. В противном случае передать ноль.
  • GMSPlaceResultCallback для обработки результата.

API вызывает указанный метод обратного вызова, передавая объект GMSPlace . Если место не найдено, объект места равен нулю.

Быстрый

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Цель-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

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

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

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

Мы рекомендуем обновить идентификаторы мест, если им больше 12 месяцев. Вы можете бесплатно обновить идентификаторы мест, отправив запрос GMSPlaceFieldPlaceID в параметре fields . Это активирует 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