Используйте службу адресов и API геокодирования со стилем границ на основе данных.

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

С помощью Maps SDK для Android вы можете использовать службу Places Service и API Geocoding для поиска регионов и получения дополнительной информации о местах. Places Service и API Geocoding являются мощными и стабильными альтернативами для получения идентификаторов мест. Если вы уже используете идентификаторы мест, вы можете повторно использовать эти идентификаторы с помощью стилей, управляемых данными, для определения границ.

Добавить службу "Места" и геокодирование в ваши приложения Maps SDK для Android можно следующими способами:

  • Places SDK для Android — это библиотека для Android, содержащая методы для возврата информации о местах.
  • API Places возвращает информацию о местах с помощью HTTP-запросов.
  • Класс Geocoder может динамически выполнять геокодирование и обратное геокодирование на основе пользовательского ввода.
  • API геокодирования позволяет определять географическое положение статических, известных адресов.

Воспользуйтесь сервисом «Места».

Используйте текстовый поиск (новая функция), чтобы найти идентификатор места.

В API Places можно использовать REST-API текстового поиска (новый), чтобы получить идентификатор места, включающий данные о регионе, указав places.id в маске поля. Использование текстового поиска (новый) только для запроса идентификаторов мест бесплатно. Подробнее .

Например, чтобы получить идентификатор места для города Тринидад, штат Калифорния, вы можете выполнить следующий вызов API:

curl -X POST -d '{
  "textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

Используйте функцию автозаполнения «Места», чтобы найти регионы.

Сервис автозаполнения «Места» в SDK Places для Android предоставляет удобный способ поиска регионов для пользователей. Чтобы настроить сервис автозаполнения «Места» так, чтобы он возвращал только регионы, используйте AutocompleteSupportFragment.setTypesFilter(List) , установив тип фильтра на PlaceTypes.REGIONS .

Получите подробную информацию о местоположении в регионе.

Сервис Place Details в Places SDK для Android, возвращающий данные о регионе, может быть весьма полезен. Например, вы можете:

  • Поиск идентификаторов пограничных пунктов на основе названий населенных пунктов.
  • Получите область просмотра для масштабирования до границы.
  • Получите тип объекта для границы (например, locality ).
  • Получите отформатированный адрес, который соответствует "Название населенного пункта, штат, страна" в регионе США (например, "Ottumwa, IA, USA").
  • Получите и другие полезные данные, например, фотографии.

Используйте API геокодирования

API геокодирования позволяет преобразовывать адрес в координаты широты и долготы, а также идентификатор места (Place ID), или же преобразовывать координаты широты и долготы или идентификатор места в адрес. Следующие варианты использования хорошо сочетаются с форматированием границ на основе данных:

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

В следующем примере для отправки запроса к API геокодирования используется адрес (экранированный в формате URL):

https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY

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

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

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

  • administrativeArea
  • country
  • locality
  • postalCode

В следующем примере функции показано использование сервиса геокодирования, добавление ограничений по компонентам с обратным геокодированием для получения всех компонентов адреса в указанном месте только для типа locality :

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY