Tengo una lista de enlaces a varios lugares. Me gustaría agregar un marcador de mapa a mi mapa OSM y eliminarlo cuando pase el mouse por encima, mientras agrego uno nuevo sobre el que pase el mouse, etc. Pude agregar un marcador al mapa al pasar el mouse pero no puedo eliminarlo a ellos.
HTML
<a href="/..." onmouseover="mkron(this)" onmouseout="mkroff()">...</a>JS
function mkron(x) { // some code to get lat lon L.marker([lat, lon]).addTo(map); } function mkroff() { markers.clearLayers(); }¿Qué me estoy perdiendo?
Su problema es que agrega el marcador directamente al mapa en lugar de agregarlo a los markers LayerGroup / FeatureGroup.
No sé el resto de su código, pero debería verse así:
var markers = L.featureGroup().addTo(map); function mkron(x) { // some code to get lat lon L.marker([lat, lon]).addTo(markers); } function mkroff() { markers.clearLayers(); }La otra variante sería almacenar la capa en una variable global y luego eliminarla del mapa:
var marker; function mkron(x) { // some code to get lat lon marker = L.marker([lat, lon]).addTo(map); } function mkroff() { if(marker){ map.removeLayer(marker) marker = null; } }