2016-10-01 58 views
0

我试图删除我地图上的所有标记,但仅删除最后添加的标记之下的代码。如何从传单地图中删除多个标记?

有没有办法让一个新的地图实例我的意思是点击一个按钮有没有办法重新初始化地图的传单?

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
    <link rel="stylesheet" href="https://npmcdn.com/[email protected]/dist/leaflet.css" /> 
</head> 
<body> 
<script src="https://npmcdn.com/[email protected]/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> 
+0

为每个'marker'赋予一个不同的变量名称,例如, 'marker1'' marker2' ...你应该可以删除每个:'mymap.removeLayer(marker2)' –

+0

我编辑了第一段。第二我不明白,所以我离开了它 - 你能澄清那是什么吗?这似乎与你的问题无关? –

+0

作为提示,请记住在“我是”等你的我的大写! –

回答

2

不是添加标记到地图中,添加标记到layerGroup和图层组添加到地图。 您可以使用clearLayers()方法删除标记。

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