使用数组 JavaScript 优化坐标数据收集

Optimise Coordinate Data Collection using array JavaScript

目前我在 routea、routeb、routec 等中存储不同的路由。 我想将它们全部收集到一条路线和一组两个嵌套的 for 循环中以生成折线。 目前,我正在使用蛮力,所以 ...

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

无需循环遍历 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);