1

Мы используем API Google Geocoding для проверки почтовых индексов Великобритании в нашей форме бронирования, однако он не всегда возвращает адрес улицы, например, EC2Y 8DR в лондонском почтовом индексе вернет длинный/лат но поля формы обмана не заполняются. Мы отошли от платного сервиса, и теперь у наших клиентов возникла серьезная проблема при бронировании.UK Почтовый индекс Google API не возвращается Адрес улицы

Вы можете увидеть это здесь https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

Есть работа вокруг?

Заранее спасибо Simon

+0

Может быть, что вы индексы, имеющие проблемы с крышкой более чем одна улица/место? Примерный почтовый индекс EC2Y 8DR охватывает полицейский участок города Лондона, а также башни Шекспира. – RobertKenny

+0

Означает ли ваш код, что будет название улицы? Этот почтовый индекс предназначен для Барбикана в Лондоне, который не имеет названия улицы в своем Королевском почтовом адресе. Например, квартира 11 Shakespeare Tower Barbican LONDON EC2Y 8DR – OTTA

+0

Вы пытаетесь получить улицу от отправки почтового индекса? Или вы пытаетесь отправить полный адрес с почтовым индексом и проверить, соответствует ли почтовый индекс этому адресу? – camiblanch

ответ

3

Давайте посмотрим на запрос автозаполнения для 'EC2Y 8DR'

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=EC2Y%208DR&key=YOUR_API_KEY

Если выполнить этот запрос, вы увидите, что предложение «London EC2Y 8DR , United Kingdom 'имеет тип «postal_code» (место ID ChIJgYd44lUbdkgRUMGemVRu-1Q). Поэтому, когда вы запрашиваете данные для этого идентификатора места, вы получите информацию о самом почтовом коде, который не содержит названия улиц.

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJgYd44lUbdkgRUMGemVRu-1Q&key=YOUR_API_KEY

Вы можете увидеть почтовый индекс в Map Maker: http://www.google.com/mapmaker?gw=90&iwloc=0_0&dtab=history&cid=6123609427973947728

Чтобы обойти эту проблему следующим образом:

Когда вы запрашиваете место подробно анализировать тип. Если тип «postal_code» извлекает широту, долготу почтового кода и выполняет обратное геокодирование для получения ближайшего уличного адреса.

В вашем примере у почтового индекса есть координаты 51.5202776, -0.09492260000000001. Обратное геокодирование вернет адрес «331 Shakespear Tower, Лондон EC2Y 8DR, Великобритания».

Пожалуйста, посмотрите на результат в Geocoder инструмента:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D51.520278%252C-0.094923