Próbuję rysować na mapie okręgi, kolejno jeden po drugim ale z tym że jak się rysuje kolejny poprzedni powinien znikać.
Próbuję to realizować tak
var map = L.map('map_pre', { zoomControl:false }).setView([51.2, 18.9], 5); L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { //L.tileLayer.grayscale('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, }).addTo(map); $(".klik1").click(function() { // map.removeLayer(circle); <--- to nie działą za pierwszym razem bo nie ma jeszcze //warstwy circle i wywala błąd // co z tym zrobić ? // "hasLayer" leafleta nie potrafię użyć circle = L.circle([50,20],1000 , { color: '#0F0', opacity: 1, fillColor: '#0f0', fillOpacity: 0.1 }).addTo(map); map.fitBounds(circle.getBounds()); }); $(".klik2").click(function() { map.removeLayer(circle); circle = L.circle([50,20.01],1000 , { color: '#00f', opacity: 1, fillColor: '#00f', fillOpacity: 0.1 }).addTo(map); map.fitBounds(circle.getBounds()); });
ale jest problem z pierwszym kółkiem, nie można usunąć warstwy circle której przed pierwszym kółkiem jeszcze nie ma. (zakomentowane w kodzie żeby działało co kolwiek)
A tu jest cały kod. JSFIDDLE