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

Идентификаторы мест однозначно указывают на различные места в базе данных Google Places и в Google Maps.

  1. Обзор
  2. Получение данных о месте по идентификатору места
  3. Обработка нескольких идентификаторов мест и областей их действия
  4. Поиск идентификатора определенного места
  5. Сохранение идентификаторов мест для последующего использования

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

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

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

Обзор

Идентификатор места – это текстовый идентификатор, который однозначно указывает на какое-то место. Он похож на идентификатор, приведенный в следующем примере (длина идентификатора может быть разной):

ChIJrTLr-GyuEmsRBfy61i59si0

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

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

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

Идентификатор места служит надежной ссылкой на определенное место. Обычный способ использования этих идентификаторов – поиск места (например, с помощью Google Places API Web Service или библиотеки адресов в Google Maps JavaScript API) и последующее использование возвращенного идентификатора для получения данных о месте. Этот идентификатор также можно сохранить и использовать для последующего получения данных об этом же месте.

Пример использования библиотеки адресов в Google 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);

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

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

После добавления места с использованием Places API Web Service ему сразу же присваивается идентификатор. Такому идентификатору места присваивается область действия, представляющая собой исключительно ваше приложение. После этого данные о новом месте поступают в очередь на проверку, где они проходят оценку возможности их добавления в базу данных Google Places. В случае успешного исхода проверки месту присваивается новый идентификатор, который становится доступен в других приложениях и в Google Maps. Дополнительную информацию см. в документации о добавлении мест.

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

На схеме ниже показан один из возможных сценариев, когда у места может быть сразу несколько идентификаторов.

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

Наличие у места сразу нескольких идентификаторов никак не влияет на запрос в Places API. Однако от этого зависит ответ.

При поиске места по его идентификатору в результатах запроса всегда будет указываться одно и то же место (если оно еще существует).

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

  • При использовании Places API Web Service. Если месту присвоено несколько идентификаторов, Places API Web Service вернет только основной из них, а также массив со всеми другими идентификаторами этого места. Дополнительную информацию см. в документации по данным о месте и поиску мест.
  • При использовании библиотеки Places JavaScript и других API. При запросе данных о месте по определенному идентификатору, извлекаются сведения о запрашиваемом месте. Однако следует отметить, что такой идентификатор места может быть иным, если с момента вашего предыдущего запроса месту был присвоен новый идентификатор. Для получения сведений о месте можно безопасно использовать его исходный идентификатор, однако по мере возможности, рекомендуется перейти к использованию более актуального идентификатора.

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

На идентификаторы мест не распространяются ограничения по кэшированию, указанные в пункте 10.5.d условий использования Google Maps API. Поэтому их можно хранить в течение неограниченного времени.

Оставить отзыв о...

Текущей странице