2

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

SQUAIRE 12
Am Flughafen
60549 Франкфурт-на-Майне
Германия

Squaire - это здание в аэропорту во Франкфурте. У него нет нормального уличного адреса, но у ряда компаний в Squaire есть такие адреса, как «Squaire NUMBER». Например:

Но независимо от того, что я делаю, я не могу получить адреса, как, что признается Google геокодирования API по адресу:

невыносимого Дело в том, что места API находит место я ищу, когда я ищу «SQUAIRE» рядом с аэропортом:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=XYZ&location=50.0509194,8.5684084&radius=1000&keyword=squaire

Соответствующий результат имеет: place_id: ChIJY9ZMLL4KvUcRxZhQ3e-7ask. Когда я запрашиваю детали конечной точки:

https://maps.googleapis.com/maps/api/place/details/json?key=XYZ&placeid=ChIJY9ZMLL4KvUcRxZhQ3e-7ask

я formatted_address: "THE Squaire 12, Am Flughafen, 60549 Frankfurt am Main, Germany", но это именно адрес, который не будет работать в геокодирования API.

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

https://maps.googleapis.com/maps/api/geocode/json?key=XYZ&place_id=ChIJY9ZMLL4KvUcRxZhQ3e-7ask

formatted_address: "plug and work Frankfurt, THE SQUAIRE Conference Center, THE Squaire 12, Am Flughafen, 60549 Frankfurt am Main, Germany" я. Который до сих пор не работает в геокодирования апи вперед:

https://maps.googleapis.com/maps/api/geocode/json?address=plug%20and%20work%20Frankfurt,%20THE%20SQUAIRE%20Conference%20Center,%20THE%20Squaire%2012,%20Am%20Flughafen,%2060549%20Frankfurt%20am%20Main,%20Germany

+0

Почему это при -1? Мог ли нижестоящий комментатор, чтобы я мог сделать вопрос лучше? – onlynone

+0

Возможный дубликат [Google GeoCoding API - возвращает ZERO \ _RESULTS, но местоположение отображается на Картах Google] (http://stackoverflow.com/questions/41500751/google-geocoding-api-returns-zero-results-but-the- location-shows-on-google-map) – miguev

+0

@miguev Этот вопрос был открыт первым – onlynone

ответ

4

Это была проблема в API геокодирования: Issue 11031.

Это было зафиксировано в конце января, так что API геокодирования всегда будет возвращать один и тот же результат/с, как Google Maps:

Это фактически побочный эффект от того, как был зафиксирован Issue 11031, и является отходом от первоначального поведения API геокодирования. Ответ xomena был действительным в то время, когда он ответил, что официальная рекомендация из документации API Карт Google действительно должна была использовать текстовый поиск в API мест. Это более продолжительное время, так как вы заметите, если вы перечитаете New Forward Geocoder FAQ.

+0

Я также должен добавить, что мне удалось получить шоссе с рампой, которое ведет к зданию «Squaire», измененному в Google Mapmaker, которое будет обозначаться как «Squaire» (как предложено @xomena), так что даже до того, как ссылка была затронута , этот конкретный адрес стал разрешимым через API геокодирования. – onlynone

1

Google Геокодирование сервис API не работает с данными о компании. Вы должны использовать службу Places API search вместо Geocoding API для поиска компаний.

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

Пожалуйста, обратите внимание на лучших практиках геокодирования: https://developers.google.com/maps/documentation/geocoding/best-practices

Надеется, что это помогает!

+0

В документации говорится: «Однозначные запросы, такие как полные строки почтовых адресов (например,« 48 Pirrama Rd, Pyrmont, NSW, Australia »), лучше всего обрабатывать веб-службой API геокодирования». Я считаю, что у меня однозначная строка почтового адреса. Похоже, что это не проблема, если адрес для бизнеса или сейчас. – onlynone

+1

Если адресную строку можно найти только в бизнес-листингах, геокодирование геокодирования API перекодирует ее. Если вам нужен этот адрес в API геокодирования, вы должны добавить его с помощью [Map Maker] (https://mapmaker.google.com/mapmaker) настройки категории «Адрес» при создании адреса. В вашем примере место ID CHIJY9ZMLL4KvUcRxZhQ3e-7ask имеет типы «создание», «point_of_interest», тип «street_address» отсутствует. Вот почему он не доступен для поиска с помощью геокодирования. – xomena

+0

Ах. Хорошо, через интерфейс создателя карты я нашел список, я пошел, чтобы отредактировать его адрес, и увидел, что ему действительно не хватает улицы и номера. Но я мог выбрать только существующую улицу для названия, и ни одно из предложений не было правильным. Я попытался добавить имя «Squaire» к существующему безымянному рампе, ведущему к зданию, но это изменение было отклонено. По крайней мере, я понимаю, почему он недоступен через geoode api, и это всего лишь политическая проблема, связанная с внесением изменений. – onlynone