Javascript 带标记的OSM多段线

Javascript 带标记的OSM多段线,javascript,leaflet,openstreetmap,polyline,Javascript,Leaflet,Openstreetmap,Polyline,我有一些OSM上的自定义多段线与此代码 var polyline1 = [ [44.772142, 17.208980], [44.774753, 17.207644], [44.773964, 17.199587], [44.770823, 17.199207], [44.771399, 17.195699], ]; for (var i = 0; i < polyline1.length;

我有一些OSM上的自定义多段线与此代码

var polyline1 = [
        [44.772142, 17.208980],
        [44.774753, 17.207644],
        [44.773964, 17.199587],
        [44.770823, 17.199207],
        [44.771399, 17.195699],
    ];

    for (var i = 0; i < polyline1.length; i++) {
                var polyline = L.polyline(polyline1, {
                    color: 'red'
                }).addTo(map);;
            }
var polyline1=[
[44.772142, 17.208980],
[44.774753, 17.207644],
[44.773964, 17.199587],
[44.770823, 17.199207],
[44.771399, 17.195699],
];
对于(变量i=0;i
我需要在所有坐标上带有弹出窗口的标记,此代码不能与其他代码一起使用:

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

有什么解决办法吗?

这比你做的要简单得多

// Define some custom icons

var icon1 = L.icon(...);
var icon2 = L.icon(...);
var icon3 = L.icon(...);
var icon4 = L.icon(...);
var icon5 = L.icon(...);


var icons = [ icon1, icon2, icon3, icon4, icon5];


// Define the points

var polyline1 = [
        [44.772142, 17.208980],
        [44.774753, 17.207644],
        [44.773964, 17.199587],
        [44.770823, 17.199207],
        [44.771399, 17.195699],
    ];

// Add a marker at each point

polyline1.forEach(function(LatLng, i) {
    L.marker(LatLng, {icon: icons[i]}).addTo(map);
});

// Add a polyline

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

这比你做的要简单得多

// Define some custom icons

var icon1 = L.icon(...);
var icon2 = L.icon(...);
var icon3 = L.icon(...);
var icon4 = L.icon(...);
var icon5 = L.icon(...);


var icons = [ icon1, icon2, icon3, icon4, icon5];


// Define the points

var polyline1 = [
        [44.772142, 17.208980],
        [44.774753, 17.207644],
        [44.773964, 17.199587],
        [44.770823, 17.199207],
        [44.771399, 17.195699],
    ];

// Add a marker at each point

polyline1.forEach(function(LatLng, i) {
    L.marker(LatLng, {icon: icons[i]}).addTo(map);
});

// Add a polyline

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

请不要添加几十个不相关的标签,同时忽略您正在使用的库-传单的标签。您的代码有点混乱。您似乎正在创建一条新的多段线x数组中的元素数,并将它们全部添加到地图中-您的意思是这样做吗?在多段线1中,我有5个点。在第一个函数中,我用弹出窗口创建了5个标记,现在我需要从第一个到最后一个创建多段线。请不要添加几十个不相关的标记,同时忽略您正在使用的库-传单的标记。您的代码有点混乱。您似乎正在创建一条新的多段线x数组中的元素数,并将它们全部添加到地图中-您的意思是这样做吗?在多段线1中,我有5个点。在第一个功能中,我用弹出窗口创建了5个标记,现在我需要从第一个到最后一个创建多段线。在这种情况下是否可以设置自定义标记图标?当然,向标记添加您需要的任何代码-但是我需要为每个标记分别编写代码?您是指为所有标记添加一个自定义图标还是为每个标记添加一个不同的图标?我是指为每个标记添加不同的图标。我甚至尝试了popup.bindPopup(polyline1[I][0]),但在这种情况下,设置自定义标记图标是不可能的?当然,向标记添加您需要的任何代码-但是我需要为每个标记分别编写代码?您是指为所有标记添加一个自定义图标还是为每个标记添加一个不同的图标?我是指为每个标记添加不同的图标。我甚至尝试了popup.bindpupp(polyline1[I][0]),但什么都没有