Получение Широты и Долготы из Google GeoCoding API - PullRequest
0 голосов
/ 28 февраля 2012

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

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

Я пробовал с XML и с JSON, с JavaScript и с ASP, и ничего. Я не вижу объект xml / json: (

Это лучшее, что я мог сделать с ASP:

<%
address=Request.QueryString("address")
url = "http://maps.googleapis.com/maps/api/geocode/json?address="
url = url + address + "&sensor=false"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", url, false
xmlhttp.send ""

data = xmlhttp.responseText
Response.write data
' Creating the XML object (New code added) :
set xml = xmlhttp.responseXML
Response.write xml.documentElement.selectSingleNode("result").text

set xmlhttp = nothing
%>

Здесь, по крайней мере, кажется, что я могу получить данные с сервера. Однако я не могу преобразовать информацию в объект JSON (и XML не просит сервер предоставить ее в XML).

Если кто-то знает, как это сделать, с помощью ASP или JavaScript, Json или XML, я буду очень благодарен.

Ответы [ 3 ]

0 голосов
/ 28 февраля 2012

Хорошо, после еще одного исследования с другом, мы наконец сделали это:

В ASP ключ играет с

selectSingleNode("name of your node")

childNodes(integer pointing to the node)

Таким образом, вы можете выбрать узлы внутри узлов внутри узлов и т. Д.

Таким образом, после создания объекта, как сказано в вопросе, вам просто нужно сделать:

set xml = xmlhttp.responseXML
Response.write xml.documentElement.selectSingleNode("result").selectSingleNode("geometry").selectSingleNode("location").text

Например, если вы искали лат и лонг.

0 голосов
/ 22 июля 2013

Проблема с вашим кодом в том, что вы запрашиваете у json правильный URL-адрес: url = "http://maps.googleapis.com/maps/api/geocode/xml?address="

, а не

url =" http://maps.googleapis.com/maps/api/geocode/json?address=

0 голосов
/ 28 февраля 2012

Вот как я бы сделал это на PHP, просто переведите на ASP, и вы ушли!

$XML = file_get_contents("http://maps.google.com/maps/geo?q=$address&output=xml&oe=utf8&sensor=false&key=$mapskey");

if (preg_match('/<coordinates>([\d.-]*),([\d.-]*),0<\/coordinates>/', $XML, $matches)) {
    $longitude = $matches[1];
    $latitude = $matches[2];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...