JS Leaflet : passage de paramètres à une fonction
Fermé
Herve_be
Messages postés
966
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
30 janvier 2023
-
20 févr. 2021 à 16:39
Herve_be Messages postés 966 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 30 janvier 2023 - 21 févr. 2021 à 10:02
Herve_be Messages postés 966 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 30 janvier 2023 - 21 févr. 2021 à 10:02
A voir également:
- JS Leaflet : passage de paramètres à une fonction
- Paramètres s'arrête systématiquement - Forum Samsung
- Passage windows 7 à 10 - Guide
- Chronopost pas d'avis de passage ✓ - Forum Vos droits sur internet
- Round js ✓ - Forum Javascript
- Fonction si et - Guide
3 réponses
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
20 févr. 2021 à 18:02
20 févr. 2021 à 18:02
onEachFeature: function(feature, layer) {
Interaction(feature, layer);
}
Herve_be
Messages postés
966
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
30 janvier 2023
7
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
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
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
966
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
30 janvier 2023
7
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.