2011-01-26 8 views
1

Я пытаюсь получить координаты адреса с карты google с помощью Classic Asp.геокодирование Google Maps & ASP

Когда я пишу этот адрес в адресной строке я получаю правильный результат:

http://maps.google.com/maps/geo?output=xml&q=32822%20USA

Но я получаю код 602 (плохое расположение от Google), когда я пытаюсь вызвать тот же адрес с MSXML2.ServerXMLHttp

аспида коды:

url = "http://maps.google.com/maps/geo?output=xml&q=" & Server.URLEncode("32822 USA") 
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 
xmlhttp.open "GET", url, false 
xmlhttp.send "" 
xml = xmlhttp.responseText 
set xmlhttp = nothing 
+0

ли кто-нибудь думает, что нужно, возможно, попробуйте установить Заголовок User-Agent? может быть, Google считает, что сценарий - бот? –

+0

Работы здесь, получили следующее: 32822 USA 200 geocode Orlando, FL 32822, USA USUSAFLOrlando32822 -81.2760848,28.5129308,0 –

+0

было то, что с ASP или URL? –

ответ

1

Ваша проблема здесь не в URL, который правильно сформирован, но тот факт, что вы можете не выполняйте междоменное XMLHttpRequest. Ваш запрос в Службу геокодирования Google Maps должен быть выполнен с сервера, который будет извлекать содержимое XML и возвращать его в ASP-скрипт.

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


Если вы не хотите использовать это решение, вы можете также посмотреть на API Google Maps для JavaScript, который также предоставляет геокодиров методы (link)

Смежные вопросы