到現在爲止我已經大多被用谷歌地圖V2工作選定點的道路。我現在正在開發v3,但遇到了一個我一直無法找到解決方案的問題。
在V2中,當使用方向時,我可以在地圖上添加一個沒有實際道路的點,並且地圖api會自動找出道路存在的最接近可能的終點,並顯示該點的方向。但V3似乎並非如此。在各種情況下,路線是錯誤的,因爲我沒有把我的觀點放在實際的道路上,而服務失敗(?)找到最接近的路線。下面是截圖顯示了我的意思:
我使用貼圖都完全相同的座標。 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/
你好emzy,不,不是這種情況:正如我所說的,在右邊的圖像(v3)上,紅色的針腳表示我使用的lan/lon值表示的點,並且方向使用了完全相同的lat/lon值,但開始點和結束點都是錯誤的。 – mspir 2011-04-15 10:28:18
對不起。你能夠將我指向代碼的託管鏈接嗎?我沒有包裝得心應手... – 2011-04-15 13:16:51
嗨,這裏是一個代碼的鏈接,完全代表上述示例http://jsfiddle.net/spairus/gNpZ2/。你會注意到我正在使用完全相同的標記和方向座標。標記是正確的,方向不是! – mspir 2011-04-15 14:24:49