JS Leaflet : passage de paramètres à une fonction
Fermé
Herve_be
Messages postés
1066
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
23 septembre 2024
-
20 févr. 2021 à 16:39
Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 - 21 févr. 2021 à 10:02
Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 - 21 févr. 2021 à 10:02
A voir également:
- JS Leaflet : passage de paramètres à une fonction
- Js/adware.agent.cr ✓ - Forum Virus
- Copiez l'image dans un logiciel d'édition d'images ou un outil en ligne comme js paint ou pixlr e. remplissez les cases en suivant le code couleur. des cases supplémentaires vont se remplir automatiquement. que représente le dessin ? ✓ - Forum Photoshop
- Pixlr - Forum Graphisme
- Exécuter un fichier js en ligne de commande - Forum Javascript
- Please enable js and disable any ad blocker - Forum Mozilla Firefox
3 réponses
jordane45
Messages postés
38249
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 octobre 2024
4 691
20 févr. 2021 à 18:02
20 févr. 2021 à 18:02
onEachFeature: function(feature, layer) { Interaction(feature, layer); }
Herve_be
Messages postés
1066
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
23 septembre 2024
9
Modifié le 21 févr. 2021 à 09:38
Modifié le 21 févr. 2021 à 09:38
Bonjour,
effectivement, visuellement ça fonctionne comme souhaité, merci beaucoup,
mais j'ai une erreur dans Leaflet quand je clique sur la trace
Uncaught TypeError: Cannot read property 'call' of undefined
at e.fire (leaflet.js:5)
at e._fireDOMEvent (leaflet.js:5)
at e._handleDOMEvent (leaflet.js:5)
at HTMLDivElement.r (leaflet.js:5)
Voici le code complet (j'ai mis directement la fonction Interaction dans onEachFeature mais ça ne change rien)
effectivement, visuellement ça fonctionne comme souhaité, merci beaucoup,
mais j'ai une erreur dans Leaflet quand je clique sur la trace
Uncaught TypeError: Cannot read property 'call' of undefined
at e.fire (leaflet.js:5)
at e._fireDOMEvent (leaflet.js:5)
at e._handleDOMEvent (leaflet.js:5)
at HTMLDivElement.r (leaflet.js:5)
Voici le code complet (j'ai mis directement la fonction Interaction dans onEachFeature mais ça ne change rien)
function popup(feature, layer) { if (feature.properties.name) { layer.bindPopup(feature.properties.name); } } function highlightFeature(e) { var layer = e.target; layer.setStyle({ weight: 5, color: '#666', dashArray: '', fillOpacity: 0.7 }); if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { layer.bringToFront(); } } function resetHighlight(e) { customLayer.resetStyle(e.target); } ... var customLayer = L.geoJson(null, { style: function(feature) { if (!feature.properties.id) { feature.properties.id = n++; } var iColor = feature.properties.id % colors.length; return { color: colors[iColor] }; }, onEachFeature: function(feature, layer) { layer.on({ mouseover: highlightFeature, mouseout: resetHighlight, click: popup(feature, layer) }); } });
jordane45
Messages postés
38249
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 octobre 2024
4 691
21 févr. 2021 à 09:40
21 févr. 2021 à 09:40
Tu vois que tes fonctions attendent un (ou plusieurs selon les cas) paramètres ?
( le trucs qui se trouvent entre parenthèses après le nom de la fonction ..... )
par exemple
Et par conséquent... quand tu fais appel à ces fonctions... ben... il faut leur passer la variable qui va bien...
( le trucs qui se trouvent entre parenthèses après le nom de la fonction ..... )
par exemple
function resetHighlight(e)
Et par conséquent... quand tu fais appel à ces fonctions... ben... il faut leur passer la variable qui va bien...
Herve_be
Messages postés
1066
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
23 septembre 2024
9
21 févr. 2021 à 10:02
21 févr. 2021 à 10:02
Je comprends ce que tu écris,
par contre je ne comprends pas pourquoi parmi
mouseover: highlightFeature,
mouseout: resetHighlight,
click: popup(feature, layer)
les 2 premières auxquelles je ne donne pas de paramètre fonctionnent correctement sans erreur
alors que popup à qui je passe 2 paramètres fonctionne très bien aussi mais donne une erreur dans Leaflet.
par contre je ne comprends pas pourquoi parmi
mouseover: highlightFeature,
mouseout: resetHighlight,
click: popup(feature, layer)
les 2 premières auxquelles je ne donne pas de paramètre fonctionnent correctement sans erreur
alors que popup à qui je passe 2 paramètres fonctionne très bien aussi mais donne une erreur dans Leaflet.