Pomóżcie mi w takiej sprawie.
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,
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors,<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>'
}).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.
http://jsfiddle.net/m72m72/pkf1oknw/19/