Все готово!

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

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

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

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

Часто задаваемые вопросы о новом прямом геокодировщике

Этот раздел с часто задаваемыми вопросами содержит информацию о новом прямом геокодировщике, о котором было объявлено в сообщении блога Геокодирование адресов в Google Maps APIs. См. также страницу Практические рекомендации для геокодирования адресов.

См. документ Часто задаваемые вопросы по Google Maps APIs, чтобы получить информацию, общую для всех Google Maps APIs.

Начало работы

Устранение неполадок

Начало работы

Когда новый прямой геокодировщик начнет использоваться по умолчанию?
  • Для запросов, которые поступают в службу геокодирования из Google Maps Geocoding API и Google Maps JavaScript API, новый прямой геокодировщик уже используется по умолчанию при обработке неустановленных запросов; кроме того, пользователи стандартного плана также используют его по умолчанию. Для владельцев Premium Plan, которые используют эти API, это изменение было запланировано на 17 января 2017 года.
  • Для всех пользователей стандартного плана и Premium Plan, которые работают с Google Maps Directions API, Google Maps Distance Matrix API, Google Static Maps API и Google Street View Image API, а также для запросов Google Maps JavaScript API к службам маршрутов и матрицы расстояний новый прямой геокодировщик начнет использоваться по умолчанию с 24 января 2017 года.
  • Применение старого геокодировщика будет полностью прекращено в конце марта 2017 года.

Эти даты могут быть отложены из-за непредусмотренных проблем или других функциональных возможностей, внедряемых в это же время. Если вы хотите каким-либо образом изменить свою систему до развертывания нового геокодировщика, вам следует выполнить эти изменения до указанных дат.

В каких API будет использоваться новый прямой геокодировщик?

Следующие Google Maps APIs используют один и тот же геокодировщик для указанных ниже запросов:

Примечание. Новый прямой геокодировщик никогда не используется для получения подробной информации для идентификатора места.

Как следует использовать новый прямой геокодировщик, пока он не начал применяться по умолчанию?

Вы можете использовать новый прямой геокодировщик уже сейчас с Geocoding API, Directions API и Distance Matrix API, а также со службами геокодирования, маршрутов и матрицы расстояний, которые доступны в Maps JavaScript API.

Для Geocoding API Directions API и Distance Matrix API необходимо добавлять в запросы дополнительный параметр new_forward_geocoder=true.

Для использования нового прямого геокодировщика в клиентских библиотеках веб-служб Google Maps APIs необходимо добавить в запросы параметр new_forward_geocoder=true. Этот настраиваемый параметр URL-адреса недавно был добавлен в клиентские библиотеки.

В службах геокодирования, маршрутов и матрицы расстояний, доступных в Maps JavaScript API, необходимо установить новый дополнительный параметр newForwardGeocoder: true в соответствующем объекте запроса. Этот параметр доступен в экспериментальной и выпущенной версиях.

К обновленному инструменту геокодирования Google Maps API был обновлен дополнительный параметр. При использовании этого инструмента выберите "Use the new forward geocoder", если вы хотите предоставлять результаты с использованием функциональных возможностей нового прямого геокодировщика.

Примечание. Новый прямой геокодировщик еще недоступен в Static Maps API и Street View Image API.

Как мне следует применять прежний прямой геокодировщик, когда он перестанет использоваться по умолчанию?

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

Для Geocoding API, Directions API и Distance Matrix API необходимо добавлять в запросы дополнительный параметр new_forward_geocoder=false.

Для использования старого прямого геокодировщика в клиентских библиотеках веб-служб Google Maps APIs необходимо добавить в запросы параметр new_forward_geocoder=false. Этот настраиваемый параметр URL-адреса недавно был добавлен в клиентские библиотеки.

В службах геокодирования, маршрутов и матрицы расстояний, доступных в Maps JavaScript API, необходимо установить новый дополнительный параметр newForwardGeocoder: false в соответствующем объекте запроса. Этот параметр доступен в экспериментальной и выпущенной версиях.

Примечание. Для Static Maps API и Street View Image API новый прямой геокодировщик пока еще недоступен, поэтому нет необходимости устанавливать для этого параметра значение "false". Static Maps API и Street View Image API пока еще продолжат использовать прежний прямой геокодировщик.

Для чего нужны эти изменения?

Новый прямой геокодировщик идентичен тому, который используется в пользовательском приложении Google Maps. Прежний геокодировщик объявлен устаревшим и его поддержка будет прекращена.

Является ли это изменение обратно совместимым?

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

Устранение неполадок

При использовании нового геокодировщика больше запросов возвращают ответ "ZERO_RESULTS". С чем это может быть связано?

В новом геокодировщике неоднозначные, неполные и представленные в неверном формате запросы будут предоставлять ответ "ZERO_RESULTS". Как правило, в старом геокодировщике такие запросы будут возвращать неверные результаты, например, указывать пригород в случае отсутствия адреса. Мы считаем, что в таких случаях ответ "ZERO_RESULTS" является более уместным.

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

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

Если ваше приложение должно обрабатывать неоднозначные или неполные запросы или запросы, которые могут содержать компоненты, не имеющие отношения к адресу, рекомендуем использовать Places API, а не прямой геокодировщик, представленный в Geocoding API. Более подробную информацию см. на странице Практические рекомендации для геокодирования адресов и в сообщении блога Address Geocoding in the Google Maps APIs.

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

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

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

Как я могу уменьшить задержку ответа для Directions API и Distance Matrix API?

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

Когда в Directions API или Distance Matrix API отправляется запрос с указанием строки адреса, а не идентификатора места или объекта latlng, они используют ту же инфраструктуру, что и Geocoding API, для преобразования этого адреса в идентификатор места для расчета маршрутов. Функция подсказки мест работает быстрее, чем геокодирование адресов. Для приложений, которые используют Directions API или Distance Matrix API в ситуациях, в которых время задержки ответа очень важно, например, при реагировании на данные, вводимые пользователем, рекомендуем использовать функцию подсказки мест, чтобы получить идентификаторы мест, соответствующие этим адресам, и передать эти идентификаторы в Directions API или Distance Matrix API. Такой подход позволяет значительно уменьшить время задержки даже по сравнению с прежним геокодировщиком адресов. См. нашу документацию, чтобы ознакомиться с примером использования подсказки мест для маршрутов.

Я пользователь премиум-плана, а стоимость Places API слишком высока. Как я могу сократить затраты?

Мы рекомендуем использовать виджет подсказки мест Autocomplete из Maps JavaScript API. Чтобы сократить стоимость использования виджета подсказки мест Autocomplete, применяйте новый режим placeIdOnly и активируйте прямой доступ к идентификаторам мест из службы подсказки мест. Режим placeIdOnly позволяет пропускать запросы подробной информации о местах для приложений, которым требуется только адрес, а не полная информация об организации. Чтобы получить соответствующий адрес, передайте идентификаторы мест в службу геокодирования или в Geocoding API. Кроме того, идентификаторы мест можно также передать в службу маршрутов или матрицы расстояний, либо в Directions API или Distance Matrix API вместо текстовой строки адреса или широты и долготы.

Мы обновили геокодировщик Google Maps API и пример служб подсказки мест и маршрутов, чтобы проиллюстрировать использование нового режима placeIdOnly.

Каким образом я могу сообщить об ошибках нового геокодировщика?

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

Новый геокодировщик не обеспечивает необходимые результаты для моих целей. Какую помощь я могу получить?

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

В новом геокодировщике фильтрация компонентов работает не так, как это было в старом. Как я могу добиться наилучших результатов с новым геокодировщиком при использовании фильтрации компонентов?

В новом геокодировщике фильтрация компонентов поддерживается в полном объеме только для результатов на уровне адресов. Предусмотрена частичная поддержка кодов стран (например, components=country:GB) и ограничений почтовых кодов для населенных пунктов или результатов более высокого уровня. Примеры, приведенные ниже, демонстрируют наиболее оптимальный способ использования фильтрации компонентов в зависимости от необходимых вам результатов. Обратите внимание, что в примере URL-адресов запросов вместо строки "YOUR_API_KEY" необходимо указать ваш действующий ключ API.

  • Чтобы ограничить адреса (включая здания, улицы и дороги) до административной единицы (страны, населенного пункта и т. д.), фильтрацию компонентов следует использовать таким же образом, что и в прежнем геокодировщике. Новый геокодировщик поддерживает такой тип использования. Например, address=gordon&components=locality:dublin возвращает адрес "Gordon Way, Dublin, OH 43017, USA".
    https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=gordon&components=locality:dublin&key=YOUR_API_KEY
    
  • Чтобы ограничить почтовые коды до определенной страны, используйте фильтрацию компонентов так же, как и в прежнем геокодировщике, но при этом не забудьте указать ограничение для страны, используя код страны ISO 3166-2. Новый геокодировщик поддерживает такой тип использования. Например, components=country:CH|postal_code:2000 возвращает адрес "2000 Neuchâtel, Switzerland".
    https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&components=country:CH%7Cpostal_code:2000&key=YOUR_API_KEY
    
  • При ограничении других неадресных запросов (например, городов или пригородов) для определенной страны, используйте фильтрацию компонентов так же, как и в прежнем геокодировщике, но при этом не забудьте указать ограничение для страны, используя код страны ISO 3166-2. При использовании нового геокодировщика нет гарантий, что будут получены те же результаты, что и при использовании прежнего. Используйте подсказки мест, чтобы получить более точные результаты с ограничением до необходимой страны.

    Примеры.

    • Используя прежний геокодировщик, при геокодировании адреса components=country:US%7Clocality:paris в результатах возвращалось несколько городов США с названием "Paris".
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=false&components=country:US%7Clocality:paris&key=YOUR_API_KEY
      
    • При использовании нового геокодировщика адрес components=country:US%7Clocality:paris однозначно геокодируется в "Paris, TX, USA", но не в другие города США с названием "Paris".
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&components=country:US%7Clocality:paris&key=YOUR_API_KEY
      
    • Использование подсказки мест для адреса input=paris&components=country:us&types=(regions), а также добавление области просмотра с использованием параметров location и radius для ограничения результатов по местоположению создает ответ, в котором указаны несколько городов в США с названием "Paris".
      https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=paris&components=country:us&types=(regions)&key=YOUR_API_KEY
      
  • При ограничении других неадресных запросов (например, городов или пригородов) для региона, помимо указания определенной страны, использование фильтрации компонентов в новом геокодировщике не гарантирует предоставления тех же результатов, какие возвращались в прежнем геокодировщике. Используйте подсказки мест, чтобы получить более точные результаты для ограничения до определенного региона (location и radius). Кроме того, можно использовать новый параметр strictbounds и ограничить результаты до определенного региона.

    Примеры.

    • При использовании прежнего геокодировщика адрес administrative_area:Anaga|locality:Santa+Cruz геокодировался в населенный пункт "Santa Cruz de Tenerife", а также административный регион "Anaga".
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=false&components=administrative_area:Anaga%7Clocality:Santa%20Cruz&key=YOUR_API_KEY
      
    • При использовании нового геокодировщика адрес administrative_area:Anaga|locality:Santa+Cruz геокодируется только в административный регион "Anaga", но не в требуемый населенный пункт "Santa Cruz de Tenerife".
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&components=administrative_area:Anaga%7Clocality:Santa%20Cruz&key=YOUR_API_KEY
      
    • Использование подсказки мест для адреса input=santa+cruz&location=28.494168,-16.275751&radius=20000&types=geocode сначала предоставит результат "Santa Cruz de Tenerife, Spain", а также другие города, например, "Santa Cruz de La Palma" (расположенный на другой острове) и "Santa Cruz, CA, United States" (США).
      https://maps.googleapis.com/maps/api/place/autocomplete/json?input=santa+cruz&location=28.494168,-16.275751&radius=20000&types=geocode&key=YOUR_API_KEY
      
    • Добавьте в запрос подсказки мест параметр strictbounds, чтобы получить результаты с ограничением для определенного региона ("Anaga").
      https://maps.googleapis.com/maps/api/place/autocomplete/json?input=santa+cruz&location=28.494168,-16.275751&radius=20000&types=geocode&strictbounds&key=YOUR_API_KEY
      

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

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