2013-02-15 3 views
4

Я работаю с Open Street Maps и с помощью leaflet library. У меня есть слой группы, как это:удалить маркер по кругу вокруг него

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

Я хочу, чтобы добавить маркеры в маркер группы, добавить круг вокруг каждого маркера и добавить группу маркеров на карте:

enter image description here

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(), маркер удаляется с карты, но круг остается позади. Как я могу удалить круг вместе с маркером?

ответ

6

Я бы сохранить ссылку на окружность в маркере:

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); 
+0

+1 не думает, что в этом случае .... Великолепно это сделала волшебство .... Приветствия ... – troy

Смежные вопросы