2011-01-24 73 views
0

我有一個簡單的任務,但似乎無法取消。我將有一個頁面允許用戶輸入他們的地址,並讓Google返回到目的地的路線。所以,第一步是去谷歌地圖API,看看這是如何完成的。所以,從他們的榜樣,我得到了以下網址:jQuery和谷歌地圖:如何AJAX它

http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false 

如果你把這個網址在瀏覽器中,你會得到一個JSON結果。所以,我的想法是,爲什麼我不能在jQuery AJAX請求中調用它?這可能嗎?我曾嘗試要求以下,但得到的jQuery腳本「訪問被拒絕」的錯誤:

 $.ajax({ 
      type: "POST", 
      url: "http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false", 
      success: function (msg) { 
       alert(msg); 
      } 
     }); 

有誰看到有問題的語法或知道爲什麼不起作用?而僅供參考,這只是第一個問題。我想這個問題成爲一個很好的資源,爲其他人創建一個帶有jquery和ajax方向的谷歌地圖,而不使用PHP(它看起來好像其他人都在使用)。

回答

2

爲了完成跨域$.ajax,給定的URL必須支持JSON-P。您使用的URL僅支持JSON。

編輯:我錯了。您正在尋找路線,而不是地理編碼。我不確定在API庫中是否有任何適合你的東西,但是你可能會嘲笑它。

https://code.google.com/apis/maps/documentation/javascript/reference.html

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

(忽略下面關於天氣預報的信息)

谷歌禁用JSON-P回調地理編碼,以防止濫用。您必須使用Google地理編碼API庫來執行正確的請求,並且反向地理編碼的目的必須是在Google地圖上顯示地址。

+0

我確定您必須使用Google Maps API JavaScript代替Directional API,因爲您正在處理客戶端上的Web應用程序。 – timdream 2011-01-24 04:15:51