Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активировать Google Maps Geocoding API

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активировать Google Maps Geocoding API
  3. Создание соответствующих ключей

Практические рекомендации для геокодирования адресов

Геокодирование – это процесс преобразования адресов (например, адресов улиц) в географические координаты (широту и долготу), которые могут быть использованы для размещения маркеров на карте или указания ее положения. В этом документе основное внимание уделяется факторам, которые необходимо учитывать при геокодировании адресов. Он также содержит информацию о том, когда лучше использовать Google Maps Geocoding API, а в каких случаях полезнее было бы задействовать службы подсказки мест Places API Place Autocomplete или текстового поиска Places API Text Search.

Как правило, Google Maps Geocoding API используется для геокодирования полных адресов (например, "ул. Балчуг, 7, ЦАО, г. Москва, Россия"). Используйте службу подсказки мест Places API Place Autocomplete для геокодирования неоднозначных (неполных) адресов, либо для сценариев с высокой задержкой, например, при реагировании на ввод данных пользователем. При геокодировании неоднозначных адресов в автоматических системах, в которых нельзя задействовать пользователя для выбора варианта подсказки мест, используйте текстовый поиск Places API Text Search вместо подсказки мест.

Варианты использования и рекомендуемые API

Вариант использования Рекомендуемый API
Полный, однозначный почтовый адрес Веб-служба Google Maps Geocoding API
Неоднозначные запросы, вводимые пользователем (например, неполные адреса или адреса в неверном формате) Служба подсказки мест Places API Place Autocomplete для получения идентификатора места, а затем Geocoding API для геокодирования этого идентификатора в объект latlng.
Неоднозначные запросы в автоматической системе (например, неполные адреса или адреса в неверном формате) Служба текстового поиска Places API Text Search для получения идентификаторов мест, а затем Geocoding API для геокодирования этих идентификаторов в объекты latlng.
Реагирование на ввод данных пользователем в режиме реального времени Служба подсказки мест Places API Place Autocomplete для получения идентификатора места, а затем Geocoding API для геокодирования этого идентификатора в объект latlng.
Проблемы с задержками при использовании Google Maps Directions API или Distance Matrix API с начальными и конечными точками или промежуточными точками, указанными в виде строк адресов Уменьшите задержку геокодирования, используя службу подсказки мест Places API Place Autocomplete для получения идентификаторов мест, а затем передайте эти идентификаторы в Directions API или Distance Matrix API.

Полные адреса

Однозначные запросы, такие как строки полного почтового адреса (например, "ул. Балчуг, 7, ЦАО, г. Москва, Россия"), лучше всего обрабатывать с использованием веб-службы Geocoding API. Инфраструктура геокодирования адресов обеспечивает большее глобальное покрытие адресов и оптимизирована для предоставления высокоточных результатов при использовании полных однозначных запросов такого типа.

Неоднозначных запросы

Неоднозначными считаются запросы, которые содержат неполные адреса, адреса в неверном формате или избыточные компоненты адресов. Геокодировщик веб-службы Geocoding API не предназначен для обработки неоднозначных запросов и может предоставить менее точные результаты или вообще никаких результатов в ответ на такие запросы, особенно, если в них содержатся орфографические ошибки или однозначные понятия, не имеющие отношения к адресу.

Если в вашем варианте использования пользователи могут указывать неоднозначные запросы (например, "Главная улица, 123"), рекомендуем применять службу подсказки мест в Places API, поскольку она способна предоставлять несколько возможных вариантов и позволяет пользователю выбирать один из них. Places API можно ограничить для использования только геокодов и адресов, при этом исключив организации. К тому же, функция поиска подсказки может быть ограничена, чтобы предоставлять результаты только для какого-либо определенного местоположения. Places API предоставляет идентификатор места, который может быть передан как полностью однозначное местоположение в веб-службу Geocoding API, откуда затем возвращается полный адрес геокодируемый в объект latlng. Ознакомьтесь с дополнительной информацией о службе подсказки мест для Android, iOS, JavaScript и Places API Web Service.

Если требуется использовать геокодирование адресов в автоматической системе, где нет пользователей для выбора одного из нескольких результатов, но при этом запросы могут быть неоднозначными или неполными, можно использовать службу текстового поиска Places API Text Search вместо службы подсказки мест. Поиск мест эффективнее выполняет копирование с неоднозначными запросами, чем Geocoding API, и позволяет ограничивать поиск определенной областью или оценивать результаты по расстоянию, что обеспечивает их более точную фильтрацию и ранжирование в случае неоднозначных или неполных запросов.

Реагирование на ввод данных пользователем

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

  1. Как правило, действия пользователя включают в себя постепенный ввод адреса, поэтому способность геокодировать неполные, неоднозначные адреса весьма полезна, так как это позволяет пользователю быстрее получить результат.
  2. Приложения, которые реагируют на ввод данных пользователем, чрезвычайно чувствительны к задержкам.

Благодаря этим двум особенностям служба подсказки мест в Places API идеально подходит для использования в тех случаях, когда требуется оперативная реакция на ввод данных пользователем. Геокодирование адресов в Geocoding API имеет значительно более высокую задержку, а также предоставляет значительно менее точные результаты для неполных или неоднозначных запросов, поэтому не рекомендуется его использовать в приложениях, которые должны незамедлительно реагировать на ввод данных пользователем. Ознакомьтесь с дополнительной информацией о службе подсказки мест для Android, iOS, JavaScript и Places API Web Service.

Уменьшение времени задержки для Directions API и Distance Matrix API

Когда начальные и конечные точки или промежуточные точки указаны в виде строк адресов, Google Maps Directions API и Distance Matrix API для геокодирования этих адресов перед расчетом маршрутов используют тот же сервер, что и Geocoding API. Это значительно увеличивает задержку по сравнению с тем, когда эти же местоположения указываются в виде объектов latlng или идентификаторов мест.

Если ваше приложение использует Directions API или Distance Matrix API в ситуации, в которой время задержки имеет значение, например, при реагировании на ввод данных пользователем, и ваши начальные, конечные точки или промежуточные точки изначально указаны как строки адреса, рекомендуем для уменьшения задержки использовать службу подсказки мест Places API, чтобы преобразовать строки адреса в идентификаторы мест, а затем передать эти идентификаторы в Directions API или Distance Matrix API. Ознакомьтесь с дополнительной информацией о службе подсказки мест для Android, iOS, JavaScript и Places API Web Service. См. также пример JavaScript для подсказки мест и расчета маршрутов.

Заключение

В зависимости от вашего случая использования применение при геокодировании адресов Geocoding API или Places API, либо службы подсказки мест или поиска мест в комбинации с Geocoding API позволяет создавать приложения, которые предоставляют пользователям точные результаты геокодирования, сокращают время реакции.

Обработка ошибок и повторных попыток

Если в ответ на запросы приходят сообщения UNKNOWN_ERROR, причиной их появления являются нерегулярные ошибки, оптимальным способом устранения которых будет повторная попытка выполнения после небольшой паузы. Мы рекомендуем использовать клиентские библиотеки веб-служб Google Maps APIs, которые включают в себя логику повторного выполнения операций и поддерживают аутентификацию Google Maps APIs Premium Plan. Java Client, Python Client, Go Client и Node.js Client для Google Maps Services – это широко используемые клиентские библиотеки, которые доступны для скачивания и поддерживаются сообществом на веб-сайте GitHub, где также можно найти указания по их установке и примеры кода.

Если в качестве ответа вы получаете код состояния OVER_QUERY_LIMIT, это означает, что вы превысили лимиты использования для данного API. Рекомендуем задействовать следующие стратегии оптимизации использования.

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

Текущей странице
Google Maps Geocoding API
Google Maps Geocoding API
Нужна помощь? Обратитесь в службу поддержки.