2016-10-01 33 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

それぞれのマーカーに異なる変数名を付けます。 'marker1'' marker2' ...それぞれを削除できるはずです: 'mymap.removeLayer(marker2)' –

+0

最初の段落を編集しました。 2番目は理解していないので残しました。それが何であるかを明確にすることはできますか?あなたの質問に無関係のようですか? –

+0

ヒントとして、私は "私は"などにあなたの大文字を覚えてください! –

答えて

2

代わりのlayerGroupにあなたのマーカーを追加し、マップに画層グループを追加し、マップにマーカーを追加します。 clearLayers()メソッドを使用してマーカーを削除できます。

関連する問題