在Google Maps API V3上为Geocoding JSON响应添加回调的方法

A way to add a callback to Geocoding JSON response on Google Maps API V3

本文关键字:添加 响应 回调 方法 JSON Geocoding Maps Google API V3 上为      更新时间:2023-09-26

我有一个URL:

http://maps.googleapis.com/maps/api/geocode/json?&传感器= false&地址= 1330 +西南% 203 % 20 ave, % 20波特兰,% 20或

但是它返回只是 JSON。我希望做一个JSONP调用。我想做到这一点,没有服务器端代码。是否有一种方法来添加一个变量名称,以它或一个函数?通常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 :( */ }
 )

在我看来,您使用的是Geocoder API而不是Maps API。根据文档,Geocoder API不是为实时使用而设计的:

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

此服务通常设计用于静态地理编码(提前知道)递交申请的地址地图上的内容;这项服务不是设计用于实时响应例如,用户输入。对于动态地理编码(例如,在用户内部)界面元素),请参考JavaScript API的文档V2 Client Geocoder, JavaScript APIV3客户端地理编码器,或地图APIfor Flash Client Geocoder.

也许你需要看看http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding,这是客户端内置回调。尽管我相信该API的许可要求地理编码结果与谷歌地图一起使用。