2017-07-07 63 views
0

目前,我存儲routea,routeb,routec等 不同的路線,我想將它們收集齊全到一個路徑和for循環生成折線組兩個嵌套的。 目前,我使用蠻力,所以 ...優化協調數據收集使用數組的JavaScript

for (var i = 0, latlng1= [], len1 = routea.length; i < len1; i++) { 
     latlng1.push(new L.LatLng(routea[i][0], routea[i][1])); 
    } 

    for (var i = 0, latlng2 = [], len2 = routeb.length; i < len2; i++) { 
     latlng2.push(new L.LatLng(routeb[i][0], routeb[i][1]));} 

我試圖巢環路一直

route = [routea, routeb, routec]; 
for (var j = 0, lena = route; j < lena; j++) { 
    for (var i = 0, latlng1= [], len = route[j].length; i < len; i++) { 
     latlng.push(new L.LatLng(route[i][0], route[i][1])); 
    } 
    var pathmat = L.featureGroup ([L.polyline(latlng1[j])]); 
    } 

但我得到以下錯誤 遺漏的類型錯誤:無法讀取屬性「未定義 _leaflet_id」在Object.stamp

+0

請先從糾正錯別字明顯的粘貼代碼:latlng1,路線[I] /途徑[J],等等 – ghybs

+0

道歉,也沒有在編程一會兒 :( – Infernus

回答

0

通過routea,routeb ...表無需循環。你可以用一個座標數組來構建折線:

var route = [routea, routeb, routec]; 
var polylines = []; 
for (var j = 0; j < route.length; j++) { 
    polylines.push(L.polyline(route[j]); 
} 

然後用多義線做任何你想要的。如果你想要把所有這些功能組中:

var fg = L.featureGroup(polylines);