event click à travers les panes
bonjour, j'ai differentes couches de tuiles et de polygons sur une carte leafletjs.
j'aimerai qu'au click, je sache sur quel element j'ai clique.
quand je clique sur un polygon (meme cache derriere des tuiles), ca fonctionne. l'event me retourne bien le polygon.
mais quand je clique sur une tuile; pour une raison que j'ignore, il me retourne systematiquement le div conteneur de la carte.
(pour l'exemple, je suis partie de la page d'exemple de leaflet https://leafletjs.com/examples/quick-start/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| const map = L.map('map').setView([51.505, -0.09], 13);
map.createPane('frontTiles'); // ici, je simule mes differentes couches
map.getPane('frontTiles').style.zIndex = 900; // cette couche est "par dessus" les autres elements
map.getPane('frontTiles').style.opacity = .5; // pour qu'on vois le polygon de test
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
pane: 'frontTiles'
}).addTo(map);
const polygon = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(map).bindPopup('I am a polygon.');
document.addEventListener('pointerup', e => {console.log(e); }); |
si je clique sur la zone du polygon, le target dans le console.log est correct
si je clique n'importe ou ailleur dans la carte, le console.log me retourne le div conteneur.... je voudrai qu'il me retourne l'image (la tuile) sur laquelle j'ai clique