Estou usando o Leaflet para renderizar um mapa. Criei um mapa com marcadores e não sei como implementar o Event Listener 'onClick' em cada Marcador.
Meu código
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();
}
Exemplo
map.on('click', function(e) {
alert(e.latlng);
});
O folheto trata dos ouvintes de eventos por referência; portanto, se você deseja adicionar um ouvinte e removê-lo, defina-o como uma função:
function onClick(e) { ... }
map.on('click', onClick);
map.off('click', onClick);