Comment voulez-vous ajouter un marqueur à la carte en utilisant la notice de la carte.on('click', function) gestionnaire d'événements
Je suis en train d'utiliser un gestionnaire d'événement pour ajouter un marqueur sur la carte. Je peux gérer cela avec une fonction de rappel, mais pas quand j'ai séparé la fonction à partir du gestionnaire d'événement.
De rappel (http://fiddle.jshell.net/rhewitt/U6Gaa/7/):
map.on('click', function(e){
var marker = new L.marker(e.latlng).addTo(map);
});
Fonction distincte (http://jsfiddle.net/rhewitt/U6Gaa/6/):
function newMarker(e){
var marker = new L.marker(e.latlng).addTo(map);
}
- Je pense que stackoverflow.com/questions/9912145/... vous aideront pour l'ajout ainsi que pour supprimer les marqueurs.
Vous devez vous connecter pour publier un commentaire.
dans votre violon code, votre fonction est dans le mauvais champ d'application. essayez de déplacer la fonction à l'intérieur de la fonction map plutôt que dans son propre champ d'application... c'est à dire au lieu de:
utilisation
Le principal problème est que la variable
map
que vous utilisez à l'intérieur de la fonctionaddMarker
n'est pas la variable dans laquelle vous stockez à la création de la carte. Il existe plusieurs façons de résoudre ce problème, mais la méthode la plus simple peut être d'attribuer la carte créée à la variablemap
déclaré, dans la première ligne. Voici le code: