2011-04-15 48 views
2

問候,谷歌地圖V3路線服務未能找到接近導致錯誤的方向

到現在爲止我已經大多被用谷歌地圖V2工作選定點的道路。我現在正在開發v3,但遇到了一個我一直無法找到解決方案的問題。

在V2中,當使用方向時,我可以在地圖上添加一個沒有實際道路的點,並且地圖api會自動找出道路存在的最接近可能的終點,並顯示該點的方向。但V3似乎並非如此。在各種情況下,路線是錯誤的,因爲我沒有把我的觀點放在實際的道路上,而服務失敗(?)找到最接近的路線。下面是截圖顯示了我的意思:

enter image description here

我使用貼圖都完全相同的座標。 V3上的紅色引腳顯示這些座標實際指向的位置,但正如您所看到的方向錯誤。只有當我使用完全在公路上的座標時,才能正確顯示(不顯示在此處)。我在V2和V3上使用完全相同的座標,但只有V2顯示正確的方向。

這裏是我使用的用於獲取direcrtions的代碼示例:

var directionDisplay; 
var directionsService = new google.maps.DirectionsService(); 
var map; 

function initialize() { 
    //Works fine, so I ommit the code 
} 


function calcRoute(endpointCoords) // endpointCoords holds coordinates for end point 
{ 
    var startpoint = '<?=$startPoint[latitude];?>, <?=$startPoint[longitude];?>'; 
    var endpoint = endpointCoords; 

    var request = { 
    origin:startpoint, 
    destination:endpoint, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 

    directionsService.route(request, function(response, status){ 
     if (status == google.maps.DirectionsStatus.OK) 
     { 
      directionsDisplay.setDirections(response); 
     } 
    }); 
} 

的文件沒有幫助我更遠(http://code.google.com/apis/maps/documentation/javascript/services.html#Directions

你有過與v3的版本類似的經歷的api?任何想法爲什麼發生這種情況

更新:這裏是顯示在行動代碼和問題的鏈接: http://jsfiddle.net/spairus/gNpZ2/

回答

1

從圖形,它看起來像你的LNG/LAT可能是錯誤的順序。由於suggested here,您可能需要確保按照正確的順序使用經度和緯度。

+0

你好emzy,不,不是這種情況:正如我所說的,在右邊的圖像(v3)上,紅色的針腳表示我使用的lan/lon值表示的點,並且方向使用了完全相同的lat/lon值,但開始點和結束點都是錯誤的。 – mspir 2011-04-15 10:28:18

+0

對不起。你能夠將我指向代碼的託管鏈接嗎?我沒有包裝得心應手... – 2011-04-15 13:16:51

+0

嗨,這裏是一個代碼的鏈接,完全代表上述示例http://jsfiddle.net/spairus/gNpZ2/。你會注意到我正在使用完全相同的標記和方向座標。標記是正確的,方向不是! – mspir 2011-04-15 14:24:49