Ich benutze Leaflet, um eine Karte zu rendern. Ich habe eine Karte mit Markierungen erstellt und weiß nicht, wie ich den Ereignis-Listener 'onClick' für jede Markierung implementieren soll.
Mein Code
var stops = JSON.parse(json);
var map = new L.Map('map', {
zoom: 12,
minZoom: 12,
center: L.latLng(41.11714, 16.87187)
});
map.addLayer(L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
attribution: 'Map data',
maxZoom: 18,
id: 'mapbox.streets',
accessToken: '-----'
}));
var markersLayer = new L.LayerGroup();
map.addLayer(markersLayer);
//populate map from stops
for (var i in stops) {
L.marker(L.latLng(stops[i].Position.Lat, stops[i].Position.Lon), {
title: stops[i].Description
}).addTo(markersLayer).bindPopup("<b>" + stops[i].Description + "</b>").openPopup();
}
Beispiel
map.on('click', function(e) {
alert(e.latlng);
});
Die Broschüre behandelt Ereignis-Listener als Referenz. Wenn Sie also einen Listener hinzufügen und dann entfernen möchten, definieren Sie ihn als Funktion:
function onClick(e) { ... }
map.on('click', onClick);
map.off('click', onClick);