Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pytanie z zakresu leaflet-a, problem z kasowaniem warstwy
Forum PHP.pl > Forum > Po stronie przeglądarki
m72
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
  1. var map = L.map('map_pre', { zoomControl:false }).setView([51.2, 18.9], 5);
  2. L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  3. //L.tileLayer.grayscale('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  4. maxZoom: 18,
  5. attribution: 'Map data &copy; <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>'
  6. }).addTo(map);
  7.  
  8.  
  9. $(".klik1").click(function() {
  10. // map.removeLayer(circle); <--- to nie działą za pierwszym razem bo nie ma jeszcze
  11. //warstwy circle i wywala błąd
  12. // co z tym zrobić ?
  13. // "hasLayer" leafleta nie potrafię użyć
  14.  
  15. circle = L.circle([50,20],1000 , {
  16. color: '#0F0',
  17. opacity: 1,
  18. fillColor: '#0f0',
  19. fillOpacity: 0.1
  20. }).addTo(map);
  21.  
  22. map.fitBounds(circle.getBounds());
  23. });
  24. $(".klik2").click(function() {
  25. map.removeLayer(circle);
  26. circle = L.circle([50,20.01],1000 , {
  27. color: '#00f',
  28. opacity: 1,
  29. fillColor: '#00f',
  30. fillOpacity: 0.1
  31. }).addTo(map);
  32.  
  33. map.fitBounds(circle.getBounds());
  34. });

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
Szymciosek
http://jsfiddle.net/pkf1oknw/25/ - wykorzystanie z JS

http://jsfiddle.net/pkf1oknw/28/ - hasLayer


Dokumentacja prawdę Ci powie wink.gif
m72
Dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.