同一阵列中的 OSM 标记和多段线

OSM marker and polyline in same array

使用此代码,我获得了所有标记并弹出了地图上每个标记的数量。

 var polyline1 = [
        ['1', 44.772142, 17.208980],
        ['2', 44.774753, 17.207644],
        ['3', 44.773964, 17.199587],
        ['4', 44.770823, 17.199207],
        ['5', 44.771399, 17.195699],
    ];


    for (var i = 0; i < polyline1.length; i++) {
        var marker = L.marker([polyline1[i][1], polyline1[i][2]])
            .bindPopup(polyline1[i][0])
            .addTo(map);
    }

但是这里不能显示折线

  var polyline = L.polyline(polyline1, {
            color: 'red'
        })
        .addTo(map);

第二个选项是标记foreach,但是它不能显示标记的数量

polyline1.forEach(function(LatLng) {
         L.marker(LatLng)
         .addTo(map);

有什么方法可以结合起来工作吗??? 我在这里严格需要带有弹出窗口或自定义标记的折线。

折线要创建数字为纬度的线。

[lat,lng,alt]
['1', 44.772142, 17.208980]

仅使用 latlngs 创建数组:

 var polyline1 = [
        ['1', 44.772142, 17.208980],
        ['2', 44.774753, 17.207644],
        ['3', 44.773964, 17.199587],
        ['4', 44.770823, 17.199207],
        ['5', 44.771399, 17.195699],
    ];

var latlngs = [];
polyline1.forEach(function(data){
   latlngs.push([data[1],data[2]]);
}

 var polyline = L.polyline(latlngs, {
            color: 'red'
        }).addTo(map);