台灣最大程式設計社群網站
線上人數
330
 
會員總數:245964
討論主題:189547
歡迎您免費加入會員
討論區列表 >> 硬體 / 週邊 / 其他 >> 存取兩點距離
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
存取兩點距離
價值 : 10 QP  點閱數:2603 回應數:1
樓主

tina
門外漢
0 2
30 0
發送站內信

我想要取得許多點彼此之間的距離
知道可以用.getDistance().meters;來做
而我用GEvent.addListener時...存取距離的筆數卻不一定
例如說我總共要存取19筆資料 但最後結果都是9~~19這範圍
為什麼呢??

以下是我的部分程式碼
function distanza() {
//window.alert(n1);
for(var i=0; i<n1; i++){
gdir[i] = new GDirections();
if (i!=(n1-1)){
gdir[i].load("from: " + addr[i] + " to: " + addr[i+1], { "locale":
"it" });
}else{
//從終點回到起點
gdir[i].load("from: " + addr[i] + " to: " + addr[0], { "locale":
"it" });
}
//window.alert("i="+i)
//GEvent.addListener(gdir, "load", onGDirectionsLoad);
GEvent.addListener(gdir[n2], "load", function() {
test[n2] = gdir[n2].getDistance().meters;
window.alert(n2+"="+test[n2]);
n2++;
});
}
//test[i] = gdir[i].getDistance().meters
//n2++


}




-----------------------------------------------------------------------------------------------------------
addr是存取地址的陣列
n1是地址的資料數...
n2從0開始..

可否請各位高手幫忙修改一下呢?
目的是要將距離的數據儲存在test的陣列裡面!!!!


謝謝..> < 拜託拜託~~想很久哩

搜尋相關Tags的文章: [ google map api ] , [ getDistance().meters ] , [ GDirections() ] ,
本篇文章發表於2009-06-30 12:03
1樓
回應

onizuka
檢舉此回應
我大概可以跟您解釋一下關於GGDirections
當您load的時候 會像伺服器 會取得一個GRoute物件
也就是你在MAP上面看到的路線圖
此時 一個GRoute 是由多個GStep組成

一個GStep 到GStep之間 是由 許多GPolyline組成

然而一個GPolyline 是由兩個GLatlng來畫的

您只需要 使用GPloyline 的getLength() 就可以取得一小段距離

當您把所有的GPloyline 全部加起來 就是您要的喔(PS 回傳單位 公尺)









本篇文章回覆於2010-04-22 23:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.