2012-03-22 138 views
0

,當我有這個簡單的Ajax調用JSON「無效的標籤」 - 解析谷歌距離矩陣請求

function sendreq() 
{ 
    $.ajax({ 
     dataType: 'jsonp', 
     url: 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&mode=driving&sensor=false', 
     success: function (jsonp) 
     { 
      alert('success'); 
     }     
    }); 
} 

我能看到JSON格式的API結果時,我打的網址很難從瀏覽器,似乎像jQuery看到的結果,但無法解析。 它拋出一個錯誤

無效的標籤 「destination_addresses」: 「舊金山,CA,USA」],使用jQuery 1.7.1

IM。從ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 任何幫助將不勝感激 謝謝。

+0

那麼,JSON不是JSONP,但你告訴jQuery將響應視爲JSONP。如果API不支持JSONP,那麼你運氣不好(必須改用代理)。 – 2012-03-22 16:23:59

回答

0
+0

感謝您的鏈接,我想知道如果我做錯了什麼或它只是API?如果沒有人提出解決方案,我想我會使用javascript api – Levon 2012-03-22 18:48:20

+0

爲什麼你要用這種方式使用web服務呢?爲什麼不使用直接的JavaScript API? – 2012-03-22 18:56:07

1

您不能Ajax得到,因爲Same Origin PolicyDistance Matrix的數據。如果您使用的是Google Distance Matrix API,則您可以從服務器端腳本中檢索該數據。另一種方法是,您可以使用Distance Matrix Service。對於這兩種方法(API和服務),你必須注意到Usage Limits and Requirements

距離矩陣服務的使用必須涉及到在谷歌地圖 信息的顯示;例如,在請求並在 地圖上請求和顯示這些目的地之前,確定 彼此落在特定駕駛時間內的起始 - 目的地對。禁止在不顯示 Google地圖的應用程序中使用該服務。