В этой статье приведены ответы на часто задаваемые вопросы о Geocoding API. Ознакомьтесь с разделом часто задаваемых вопросов о платформе Google Карт. Также ознакомьтесь с рекомендациями по геокодированию адресов.
Устранение неполадок
- Я получаю больше запросов, которые возвращают ZERO_RESULTS с геокодером. Выберите причину жалобы
- Мне нужны быстрые ответы, а геокодер работает слишком медленно для моего приложения. Как отвечать быстрее?
- Как уменьшить задержку в Directions API (Legacy) и Distance Matrix API (Legacy)?
- Как сообщить об ошибках в геокодере?
- Геокодер не дает хороших результатов для моего варианта использования. Какая помощь доступна?
- Как получить наилучшие результаты геокодирования с помощью фильтрации компонентов?
Устранение неполадок
- Я получаю больше запросов, которые возвращают ZERO_RESULTS с геокодером. Выберите причину жалобы
-
В геокодере неоднозначные, неполные и неправильно отформатированные запросы, например с опечатками или несуществующими адресами, могут привести к результату ZERO_RESULTS. Если адрес не найден, лучше получить ZERO_RESULTS, чем частичный результат (например, только название пригорода вместо адреса).
Если в вашем приложении пользователи вводят адреса, то функция автозаполнения мест в Places API может повысить качество результатов. Автозаполнение мест позволяет пользователям выбирать из набора результатов на основе введенного текста. Это помогает им выбирать из результатов с похожими названиями и корректировать запрос, если они неправильно написали адрес.
Если ваше приложение обрабатывает неточные или неполные запросы, а также запросы, которые могут содержать ошибки, мы рекомендуем использовать функцию автозаполнения мест в Places API, а не прямой геокодер, доступный в Geocoding API. Подробнее о геокодировании адресов рассказывается в рекомендациях и записи в блоге Google Maps APIs.
- Мне нужны быстрые ответы, а геокодер работает слишком медленно для моего приложения. Как отвечать быстрее?
-
Приложениям, которые реагируют на ввод данных пользователем и поэтому очень чувствительны к задержкам, мы рекомендуем использовать функцию автозаполнение мест в Places API (также доступна в JavaScript, Android и iOS) вместо геокодирования адресов. Подсказка мест оптимизирована для использования в интерактивном режиме и, таким образом, имеет чрезвычайно низкую задержку ответа.
Геокодирование адресов в Geocoding API оптимизировано для использования с полными, однозначными и правильно отформатированными адресами, например адресами доставки, введенными в онлайн-формы. Поэтому у него более высокая задержка, чем у Place Autocomplete. Прямой геокодер имеет больший охват и лучшее качество результатов, но несколько большую задержку.
- Как уменьшить задержку в Directions API (устаревшая версия) и Distance Matrix API (устаревшая версия)?
-
Вместо адресов используйте идентификаторы мест, чтобы указать путевые точки, пункт отправления и пункт назначения. Идентификаторы мест лучше всего получать с помощью функции автозаполнения мест в Places API или библиотеки Places в Maps JavaScript API. Также ознакомьтесь с информацией о параметре
placeIdOnly, который позволяет снизить стоимость использования автозаполнения мест.Если в Directions API (устаревшая версия) или Distance Matrix API (устаревшая версия) вместо идентификатора места или координат широты и долготы передается строка адреса, то для преобразования этого адреса в идентификатор места перед расчетом маршрута используется тот же серверный компонент, что и в Geocoding API. Автозаполнение мест работает быстрее, чем геокодирование адресов. Если вы используете Directions API (устаревшая версия) или Distance Matrix API (устаревшая версия) в приложениях, где задержка критична (например, при обработке ввода данных пользователем), рекомендуем использовать автозаполнение мест, чтобы получать идентификаторы мест, соответствующие адресам, и передавать их в Directions API (устаревшая версия) или Distance Matrix API (устаревшая версия). Этот подход значительно снижает задержку. В нашей документации есть пример использования автозаполнения мест с маршрутами.
- Как сообщить об ошибках в геокодере?
-
Если у вас есть отчеты об ошибках или запросы на добавление функций для сервиса прямого геокодирования, сообщите нам об этом в нашей общедоступной системе отслеживания ошибок.
- Геокодер не дает хороших результатов для моего варианта использования. Какую помощь я могу получить?
-
Сообщите нам об этом через общедоступную систему отслеживания ошибок, указав несколько запросов. Мы проверим, не вызвана ли проблема ошибками или системными сбоями, и при необходимости внесем изменения в рекомендации, чтобы помочь разработчикам улучшить результаты.
- Как получить наилучшие результаты от геокодера, используя фильтрацию компонентов?
-
В геокодере фильтрация компонентов применяется только к ограничениям
postal_codeиcountry. Ниже приведены примеры того, как лучше всего использовать фильтрацию компонентов в зависимости от того, какие результаты вам нужны. В URL запросов из примеров замените `YOUR_API_KEY` на свой ключ API.- Чтобы ограничить почтовые индексы определенной страной, укажите ее код в формате ISO 3166-2.
Пример:
components=country:CH|postal_code:8000возвращает "8000 Zürich, Switzerland".https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY - Чтобы ограничить запросы определенной страной, укажите ограничения для отдельных стран, используя код страны в формате ISO 3166-2. Названия стран и другие сокращения могут не дать тех же результатов, что и коды стран.
Примеры:
- Геокодирование для
components=country:FRA|locality:gallusвозвращает название района Галлус во Франкфурте-на-Майне, Германия. Это связано с тем, что трехбуквенный код страны для Франции (FRA) не поддерживается, поэтому разрешены результаты для любой страны, а результат во Франкфурте лучше, чем любой результат во Франции.https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
- Геокодирование для
- Geocoding API не обязательно возвращает несколько результатов для неоднозначных запросов. На такие запросы лучше отвечает автозаполнение мест.
Примеры:
- Геокодирование для
components=country:US|locality:madridвозвращает "Мадрид, Нью-Мексико 87010, США", но не другие города в США с названием "Мадрид".https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY - Если использовать сервис автозаполнения мест для
input=madrid&components=country:us&types=(regions), а также указать область просмотра с помощьюlocationиradius, чтобы сместить результаты поиска местоположений, будет получен ответ с несколькими городами в США под названием "Мадрид".https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY
- Геокодирование для
- Чтобы ограничить почтовые индексы определенной страной, укажите ее код в формате ISO 3166-2.
Пример: