Bonjour,
Avec la library Leaflet, Control.Layers permet de sélectionner un fond de carte via des boutons radio > baseLayers.
Si fichier GPX une trace (liste de trackpoint) et / ou des points d'intérêt (waypoint) peuvent être affichés selon des cases à cocher > Overlays
Une fois ce layer ajouté sur la carte la solution pour détecter une modification de fonds de cartes est listée dans différents exemples dans leur documentation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var baseLayers = { "IGN": ign, "OpenStreetMap": osm }; var overlays = { "Wpt": marker, "Trk": route }; L.control.layers(baseLayers, overlays).addTo(map);
Par contre, et lié avec une mauvaise maitrise de langue anglaise non technique, je n'arrive pas à trouver quel élément surveiller pour placer un event indiquant la case à cocher cliquée, sans placer un lien sur le nom de l'overlay affiché.
Comment procéder ?
Merci par avance,
Amitiés à tous, et prenez soin de vous !
PS : Solution en jQuery trouvée à ce lien : https://stackoverflow.com/questions/...rol-on-leaflet
En ayant pris soin de charger une bibliothèque jQuery cela ne fonctionne pas malgré ce code vu dans l'OpenSource Leaflet.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $(".leaflet-control-layers-selector").on('click',function () { // get the selected option in the control layers : map.eachLayer(function () { if (typeof layer.options.layers !== "undefined" && layer.options.layers !== layer_name) { var seleted_opt = layer.options.layers; } }); //function calls }); //layer_name is the the name of my WMS_parcelle layer.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <input class="leaflet-control-layers-selector" type="checkbox">
Cette autre solution non plus : https://github.com/vogdb/Leaflet.ActiveLayers même en allant chercher les fichiers js absents.
Merci !
Partager