2011-04-14 61 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