Результаты Google Map GEO - PullRequest
       12

Результаты Google Map GEO

7 голосов
/ 25 января 2010

Я очень разочарован результатами Google Geo и надеюсь, что кто-нибудь посоветует мне, что лучше всего пойти.

Я создал функцию автозаполнения, в которой вы можете начать вводить адрес, и Google ответит предложениями. Затем пользователь выбирает и адрес для перемещения.

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

Пример кода:

Допустим, я выбрал из предложения этот адрес: Suffield, CT 06078, USA

Затем при проверке я делаю второй поиск с этим адресом, т.е.

$string = "Suffield, CT 06078, USA";    
echo 'http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q='.urlencode($string).'';

Это дает мне код ошибки 602 (G_GEO_UNKNOWN_ADDRESS)

Как его не найти, когда ему дали адрес?

Как я могу обойти это?

Ответы [ 2 ]

3 голосов
/ 25 января 2010

Ты прав. Это довольно странно.

Обратите внимание, что это работает, когда вы удаляете пространство между CT и 06078:

http://maps.google.com/maps/geo?q=Suffield,+CT06078,+USA&output=csv&sensor=false

Вышеуказанное возвращает 41,9817631, -72,6506462. ( Ссылка на Google Maps )


Обратное геокодирование этих координат с помощью:

http://maps.google.com/maps/geo?q=41.9817631,-72.6506462&output=csv&sensor=false

возвращается:

200,4,"Suffield, CT, USA"
1 голос
/ 25 января 2010

Это действительно странно, конечно, но я смог проверить адрес, используя полное имя состояния.

Не работает:

http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q=Suffield,%20CT%2006078

Работает:

http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q=Suffield,%20Connecticut%2006078

И да, предоставленный вам адрес не работает в их собственной системе. Тем не менее, в поисках Хартфорда, CT работает. Похоже, что в их данных может быть расхождение в списках, в результате чего Suffield + CT возвращает ложные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...