4

Open Street Maps使用していleaflet libraryます。次のようなレイヤー グループがあります。

var testLayer = new L.LayerGroup(); --> declared in a different file

マーカー グループにマーカーを追加し、各マーカーの周りに円を追加して、マーカー グループをマップに追加します。

ここに画像の説明を入力

var realMarker = L.marker([52.6432, -6.53412 ],{icon: Icon,title:data[choice][key]["name"]
                        }).bindPopup("Dublin").addTo(testLayer);
var circle = L.circle([52.6432, -6.53412 ],400, {
                        color: 'red',
                        fillColor: '#f03',
                        fillOpacity: 0.5
                    }).addTo(testLayer);

 map.addLayer(testLayer);

しかし、 を使用してマーカー グループから特定のマーカーを削除するremoveLayer()と、マーカーはマップから削除されますが、円は取り残されます。マーカーと一緒に円を削除するにはどうすればよいですか?

4

1 に答える 1

7

マーカーに円への参照を保存します。

var realMarker = L.marker([52.6432, -6.53412 ],
                          {icon: Icon,title:data[choice][key]["name"]}
                         ).bindPopup("Dublin").addTo(testLayer);
var circle = L.circle([52.6432, -6.53412 ],400, {
                        color: 'red',
                        fillColor: '#f03',
                        fillOpacity: 0.5
                    }).addTo(testLayer);
realMarker.circle=circle;
map.addLayer(testLayer);

次に、マーカーを削除するときに、その円も削除します

testLayer.removeLayer(markerToRemove);
testLayer.removeLayer(markerToRemove.circle);
于 2013-02-15T16:20:34.030 に答える