0

我想做的是在给定地址的情况下生成纬度和经度,所以我认为谷歌地理编码 API 会很棒。

我已经尝试了一切,但它仍然不想工作。我不是一个经验丰富的网络程序员,所以任何帮助都会很棒。

我已经尝试过使用 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,我将不胜感激。

4

3 回答 3

0

下面是我在 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];
}
于 2012-02-28T11:57:58.203 回答
0

好的,经过与朋友的更多研究,我们终于做到了:

在 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

例如,如果您正在寻找纬度和经度。

于 2012-02-28T14:44:17.677 回答
0

您的代码的问题是您正在请求 json 正确的 URL 应该是 url = " http://maps.googleapis.com/maps/api/geocode/xml?address= "

并不是

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

于 2013-07-22T18:49:19.907 回答