0

所以我在地图中添加了 5 个标记,我想使用 foreach 获取每个标记的经度纬度mymap.eachLayer(function(layer){}

var mymap = L.map('mapid').setView([ 50.505, 21.09 ], 5);

L.marker([ 48.856132, 2.351589 ]).addTo(mymap).bindPopup("test");
L.marker([ 49.856132, 3.351589 ]).addTo(mymap).bindPopup("test");
L.marker([ 50.856132, 4.351589 ]).addTo(mymap).bindPopup("test");
L.marker([ 51.856132, 5.351589 ]).addTo(mymap).bindPopup("test");
L.marker([ 52.856132, 6.351589 ]).addTo(mymap).bindPopup("test");   
4

1 回答 1

1

eachLayer()没有得到所有markers,它得到所有layers - 这可能不一样。需要检查它找到的是marker

mymap.eachLayer(function(layer) {
   if (layer instanceOf L.Marker) {   
         alert(layer.getLatLng());
   }
});
于 2020-07-20T14:53:08.673 回答