2011-04-14 63 views
0

地址解析JSON响应方式,使我有一个像网址:A到回调添加到谷歌地图API V3

http://maps.googleapis.com/maps/api/geocode/json?&sensor=false&address=1330+SW%203rd%20Ave,%20Portland,%20OR

但它返回只是 JSON。我正在寻找一个JSONP电话。我想这样做没有服务器端代码。有没有办法给它或函数添加一个var名称?通常API有callback参数或其他东西。或者,你们有没有知道任何黑客?我现在的代码是:

createScriptTag:function(the_src,callback){ 
    var headID = document.getElementsByTagName("head")[0],   
     newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    newScript.onload=callback; 
    newScript.src = the_src; 
    headID.appendChild(newScript); 
    } 

//Then call it like: 
createScriptTag(
    'http://maps.googleapis.com/maps/api/geocode/json?&sensor=false&address=1330+SW%203rd%20Ave,%20Portland,%20OR', 
    function(){ /* I can't do anything with the JSON :(*/ } 
) 

回答

2

在我看来,您使用的是Geocoder API而不是Maps API。根据该文件的地理编码API是不适合实时使用:

http://code.google.com/apis/maps/documentation/geocoding/

该服务通常用于 地理编码静态(事先已知),用于在应用 内容放置 地址地图;例如,该服务不是 ,其被设计为实时响应用户输入 。对于动态地理编码 (例如,用户 界面元素内),请查阅的JavaScript API V2客户端地址解析器,JavaScript的API V3客户端地址解析器,或者为Flash客户端地址解析器地图API 的 文档。

也许你需要看看http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding这是客户端与内置回调。虽然我相信该API的许可证需要将地理编码结果与Google地图结合使用。

+0

我明白了,该死的,好的谢谢! – 2011-04-14 23:11:21