Marqueur dans la fiche, cliquez sur l'événement
var map = L.map('map');
var marker = L.marker([10.496093,-66.881935]).on('click', onClick);
function onClick(e) {alert(e.latlng);}
marker.addTo(map)
Quand je le fais, cliquez sur le marqueur, le message d'alerte est: undefined
Mais si je l'ai mis dans la variable de la carte, ça marche!!! (indique la latitude et la longitude)
map.on('click', onClick);
Ce que quelqu'un sait pourquoi ça ne marche pas dans le marqueur?
- Ne
var marker = L.marker([10.496093,-66.881935]).on('click', funciton(e) {alert(e.latlng);});
produire les mêmes résultats? - J'ai fait le changement que vous avez mentionné, mais ne fonctionne pas
- La suite de Chris post ci-dessous, vous pouvez modifier votre code
var marker = L.marker([10.496093,-66.881935]).addTo(map).on('click', onClick);
Vous devez vous connecter pour publier un commentaire.
Accepté la réponse est correcte. Cependant, j'ai besoin d'un peu plus de clarté, de sorte que dans le cas où quelqu'un d'autre ne le fait trop:
Dépliant permet aux événements de feu sur pratiquement tout ce que vous faites sur sa carte, dans ce cas, un marqueur.
De sorte que vous pourrait créer un marqueur tel que suggéré par la question ci-dessus:
Puis créer la fonction onClick:
Maintenant, quand vous le mouseover que marqueur, il déclenche une alerte de l'actuel lat/long.
Cependant, vous pouvez utiliser un 'clic', 'double clic', etc. au lieu de 'mouseover', et au lieu d'alerter les lat/long, vous pouvez utiliser le corps de onClick rien d'autre à faire que vous voulez:
Voici la documentation: http://leafletjs.com/reference.html#events
console.log(e.latlng)
de montrer un objet contenant la latitude et la longitude.J'ai trouvé la solution:
utilisé la méthode getLatLng() du marqueur
Voici un jsfiddle avec un appel de la fonction:
https://jsfiddle.net/8282emwn/
Supplémentaires pertinentes info:
Un besoin commun est de transmettre l'ID de l'objet représenté par le marqueur appel ajax dans le but d'aller chercher plus d'infos à partir du serveur.
Il semble que, lorsque nous faisons:
La
e
points pour un MouseEvent, ce qui ne nous permet pas d'arriver à l'objet de marqueur. Mais il est intégré dansthis
objet qui, étrangement, nous oblige à utiliserthis.options
pour se rendre à l'options
objet qui nous fait passer quelque chose dont nous avons besoin. Dans le cas ci-dessus, nous pouvons passer d'une pièce d'identité en option, disonsobjid
puis au sein de la fonction ci-dessus, nous pouvons obtenir la valeur en invoquant:this.options.objid
Un peu en retard à la fête, trouvé ceci en cherchant un exemple du marqueur, cliquez sur l'événement. L'erreur undefined l'affiche originale a, c'est parce que le onClick fonction est appelée avant elle est définie. Swap de la ligne 2 et 3 et cela devrait fonctionner.