Вы можете использовать Places SDK для iOS и Geocoding API с Maps SDK для iOS для поиска регионов и получения дополнительной информации о местах. Places SDK для iOS и Geocoding API являются мощными и стабильными альтернативами для получения идентификаторов мест . Если вы уже используете идентификаторы мест, вы можете повторно использовать эти идентификаторы с помощью стилей, управляемых данными, для определения границ.
Добавить функции «Места» и «Геокодирование» в ваши приложения Maps SDK для iOS можно следующими способами:
- Places SDK для iOS возвращает информацию о местах с помощью HTTP-запросов.
- Класс CLGeocoder может динамически выполнять геокодирование и обратное геокодирование на основе пользовательского ввода.
- API геокодирования позволяет определять географическое положение статических, известных адресов.
Используйте API Places
API поиска мест возвращает информацию о наборе мест на основе строки — например, «пицца в Нью-Йорке», «обувные магазины рядом с Оттавой» или «123 Мэйн-стрит». Сервис отвечает списком мест, соответствующих текстовой строке, с учетом любых заданных параметров местоположения.
Сервис автозаполнения «Места» предоставляет удобный способ поиска регионов для ваших пользователей. Чтобы отображать результаты в пределах определенного региона, установите
locationRestrictionв параметреGMSAutocompleteFilter.
Получите подробную информацию о местоположении в регионе.
Данные о местности для региона также полезны. Например, вы можете:
- Поиск идентификаторов пограничных пунктов на основе названий населенных пунктов.
- Получите область просмотра для масштабирования до границы.
- Получите тип объекта для границы (например, местность).
- Получите отформатированный адрес, который соответствует "Название места, штат, страна" в регионе США (например, "Kirkland, WA, USA").
- Получите и другие полезные данные, например, фотографии.
Используйте API геокодирования
API геокодирования позволяет преобразовывать адрес, координаты широты и долготы или идентификатор места в географические координаты и наоборот. Следующие варианты использования хорошо сочетаются с форматированием границ на основе данных:
- Используйте геокодирование, чтобы получить область просмотра для определенного региона.
- Примените фильтрацию компонентов к запросу геокодирования, чтобы получить идентификаторы мест для административных районов 1-4, населенных пунктов или почтовых индексов.
- Используйте обратное геокодирование для поиска идентификаторов мест по координатам широты и долготы или даже для получения идентификаторов мест для всех компонентов в определенном местоположении.
В следующем примере для отправки запроса к API геокодирования используется адрес (экранированный в формате URL):
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYДля поиска идентификаторов мест можно использовать обратное геокодирование . Следующий пример функции службы геокодирования возвращает идентификаторы мест для всех компонентов адреса по указанным координатам широты и долготы:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY
Используйте обратное геокодирование с фильтрацией по компонентам, чтобы получить адресный компонент для одного или нескольких из следующих типов в указанном местоположении:
-
administrativeArea -
country -
locality -
postalCode -
schoolDistrict
В следующем примере показано использование службы геокодирования, добавление ограничений по компонентам с обратным геокодированием для получения всех компонентов адреса в указанном месте для типа
locality:https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY