Leaflet 如何从传单地图中删除多个标记?

Leaflet 如何从传单地图中删除多个标记?,leaflet,markers,removeall,Leaflet,Markers,Removeall,我正在尝试删除地图上的所有标记,但下面的代码将仅删除最后添加的标记 有没有办法获得一个新的地图实例?我是说,点击一个按钮,有没有办法在传单中重新初始化地图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="https://

我正在尝试删除地图上的所有标记,但下面的代码将仅删除最后添加的标记

有没有办法获得一个新的地图实例?我是说,点击一个按钮,有没有办法在传单中重新初始化地图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://npmcdn.com/leaflet@1.0.0-rc.3/dist/leaflet.css" />
</head>
<body>
<script src="https://npmcdn.com/leaflet@1.0.0-rc.3/dist/leaflet.js"></script>
<script src="../leaflet/lib/AnimatedMarker.js"></script>

<style>
    #mapid { height: 500px; }
</style>

<div id="mapid"></div>
<script>
    var mymap = L.map('mapid').setView([40.68510, -73.94136], 13);
    L.tileLayer('http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', {
        attribution: '&copy; Openstreetmap France | &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
    }).addTo(mymap);

    var marker = L.marker([40.68510, -73.94136]).addTo(mymap);
    var marker = L.marker([40.68576, -73.94149]).addTo(mymap);
    var marker = L.marker([40.68649, -73.94165]).addTo(mymap);



    mymap.removeLayer(marker);
</script>

</body>
</html>

不要将标记添加到地图,而是将标记添加到地图,然后将图层组添加到地图。 可以使用clearLayers方法删除标记

var markers = L.layerGroup([marker1, marker2]).addTo(map);
markers.clearLayers();

不要将标记添加到地图,而是将标记添加到地图,然后将图层组添加到地图。 可以使用clearLayers方法删除标记

var markers = L.layerGroup([marker1, marker2]).addTo(map);
markers.clearLayers();

为每个标记指定不同的变量名,例如marker1 marker2。。。然后您应该能够删除每个:mymap.removeLayermarker2I编辑了第一段。第二次我不明白,所以我留下了它-你能澄清这是怎么回事吗?这似乎与您的问题无关?作为提示,请记住将您的“我在”中的“我在”大写“等等!如果有100个标记,那么将有100s变量,请说明如何处理。在这种情况下,您需要使用一个数组。每个标记将是一个数组元素。下面是一个示例,给每个标记一个不同的变量名,例如marker1 marker2…然后您应该能够删除每个:mymap.RemovelayerMarker2我编辑了第一段。第二段我不明白,所以我留下了它-你能澄清这是关于什么的吗?它似乎与你的问题无关?作为提示,记住将你的“我在”中的“我在”大写“等等!如果有100个标记,那么将有100s变量,请说明如何处理。在这种情况下,您需要使用一个数组。每个标记将是一个数组元素。下面是一个示例