2009-06-18 70 views
1

這看起來像它應該工作嗎?我想要生成從一個緯度/經度到另一個緯度/經度的路線。谷歌地圖GDirections - 地圖上兩點之間的路線方向

var dirMap = new GMap2($("#dirMap").get(0)); 
var wp = new Array(2); 
wp[0] = new GLatLng(35.742149,139.337218); 
wp[1] = new GLatLng(35.735347,139.328485); 

var marker = new GMarker(wp[1]); 
dirMap.addOverlay(marker); 
dirMap.setCenter(wp[0], 12); 
dirMap.setUIToDefault(); 

// load directions 
directions = new GDirections(dirMap); 
directions.load("from: [email protected],100.337218 to: [email protected],100.3267"); 

地圖加載罰款,但方向不進來。我也試過這種方式:

var dirMap = new GMap2($("#dirMap").get(0)); 
var wp = new Array(2); 
wp[0] = new GLatLng(32.742149,119.337218); 
wp[1] = new GLatLng(32.735347,119.328485); 

var marker = new GMarker(wp[1]); 
dirMap.addOverlay(marker); 
dirMap.setCenter(wp[0], 12); 
dirMap.setUIToDefault(); 

// load directions 
directions = new GDirections(dirMap); 
directions.loadFromWaypoints(wp); 

同樣的事情......地圖,但沒有方向。任何幫助非常感謝,提前謝謝!

回答

1

我什麼都看不到乍看很明顯你的代碼,所以我的第一個猜測是失敗回來在爲GDirections對象請求(我也假設你已經檢查了JavaScript錯誤日誌中的任何錯誤,工具/錯誤控制檯,如果你還沒有這樣做)。

我建議你添加一個錯誤處理程序爲您GDirections對象,這會給你一些指示什麼是您的要求發生了:

GEvent.addListener(directions, "error", handleErrors); 

,並在handleErrors回調有看:

directions.getStatus().code 

Geo Status Codes比較。

編輯:好吧,我剛剛嘗試了your code這裏,它works perfectly。我只能假設頁面上存在其他問題導致問題。你可以在問題中發佈一個鏈接,以便我們可以查看它嗎?

+0

的問題是在我的測試中...所以沒有聯繫。測試完成後,我將代碼複製到新的html文件併成功加載。 至少我知道現在不是javascript的錯。我非常感謝這方面的幫助,非常感謝。 – Chaddeus 2009-06-19 00:24:36

+0

很高興聽到它:)。 – RedBlueThing 2009-06-19 00:39:13

1

檢查我,當我在Google Maps API Reference嘗試的狀態(604)表示:

GDirections對象不能在查詢中提到的幾點 之間 計算方向。這通常是因爲在兩點之間沒有路線 或 ,因爲我們沒有在該區域中路由 的數據。

,這是我使用的代碼(略有修改):

$(function() 
{ 
    if (GBrowserIsCompatible()) 
    { 
     var wp = [new GLatLng(35.742149,139.337218), new GLatLng(35.735347,139.328485)]; 

     var map = new GMap2(document.getElementById('map-canvas')); 
     map.setCenter(wp[0], 12); 
     map.setUIToDefault(); 

     var marker = new GMarker(wp[1]); 
     map.addOverlay(marker); 

     var directions = new GDirections(map); 
     GEvent.addListener(
      directions, 
      'error', 
      function() 
      { 
       console.log(directions.getStatus().code); 
      } 
     ); 
     directions.load('from: [email protected],100.337218 to: [email protected],100.3267'); 
    } 
});