我想要做的是生成纬度&经度给出一个地址,所以我认为Google地理编码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,我会非常感激。
答案 0 :(得分: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];
}
答案 1 :(得分: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
例如,如果您正在寻找lat&amp;长。
答案 2 :(得分:0)
您的代码存在的问题是您要求json正确的网址应为url =“http://maps.googleapis.com/maps/api/geocode/xml?address=”
而不是
url =“http://maps.googleapis.com/maps/api/geocode/json?address=