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

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);
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.

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

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.
En ayant pris soin de charger une bibliothèque jQuery cela ne fonctionne pas malgré ce code vu dans l'OpenSource Leaflet.js :
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 !