#1 Mon 01 February 2016 10:23
- mlt
- Participant actif
- Date d'inscription: 14 Oct 2015
- Messages: 59
Changer de fond dans leaflet
Bonjour,
Sur mes cartes, je superpose des rasters à un fond OSM.
Mes rasters sont en BaseMaps, de manière que un seul raster puisse être afficher en même temps, l'utilisateur choisit le raster à afficher avec les radiobox.
Code:
L.control.layers(baseMaps, {})
Maintenant j'essaie de crée des boutons pour gérer mes fonds OSM et plus tard IGN.
Pour celà je crée un lien html avec la fonction onClick:
Code:
<a href="#" onClick="changefond()">test </a>
Ma fonction changefond() ressemble à ceci:
Code:
function changefond(){ var fond = L.tileLayer('http://{s}.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png', { maxZoom: 19}); map.addLayer(fond); /* jutilise ceci pour mettre mon fond*/ }
J'aimerais avant de changer de fond, supprimer le précédent. C'est plus propre et les pages prendront moins de mémoire (je suppose).
J'ai testé avec ceci:
Code:
map.removeLayer(fond)
J'ai l'erreur:
Code:
TypeError: i is undefined leaflet.js:6:604
Si quelqu'un a une idée ou autre méthode plus propre... je suis preneur
De plus de cette erreur, si je supprime pas le fond, le délai entre le clic et le changement de fond est assez long.... Je sais pas pourquoi, peut être c'est jsute le délai entre les serveurs de tuiles et mon code.
Merci
Dernière modification par mlt (Mon 01 February 2016 11:03)
Hors ligne
#2 Mon 01 February 2016 12:10
Re: Changer de fond dans leaflet
Bonjour,
Et en utilisant "setUrl" comme ceci ? :
https://plnkr.co/edit/C3mPs0tEmbXQA25pNyXg?p=preview
Hors ligne
#3 Mon 01 February 2016 21:25
- mlt
- Participant actif
- Date d'inscription: 14 Oct 2015
- Messages: 59
Re: Changer de fond dans leaflet
ça fonctionne nickel. Merci beaucoup.
Je pensais pas que c'était aussi facile....
Hors ligne