Tengo un problema para eliminar capas o marcadores de forma permanente con el grupo de marcadores de folletos.
Puedo eliminar eliminar el marcador y editar su CSS a través de su DIV ID bien. Cuando lo hago de esta manera y elimino la matriz, el marcador desaparece y la matriz se elimina, pero cuando alejo y vuelvo a acercar, ¿el marcador sigue ahí? ¿A pesar de que el número es que el grupo se ha reducido en uno?
Yo he tratado
layer.removeFrom(markerLayer);Pero dice marcadorLayer indefinido.
Esto elimina todos los marcadores, pero cuando se acerca y se aleja, ¿vuelven a aparecer?
$(".leaflet-marker-icon").remove(); $(".leaflet-popup").remove();¿Me estoy perdiendo algo aquí con los grupos?
Agrego los marcadores de mapa al grupo así, ¿quizás esto esté mal?
El mapa :-
var map = L.mapbox.map('map') .setView([52.450439, -1.729660], 14) .addLayer(L.mapbox.styleLayer('mapbox://styles/mapbox/streets-v11')); var markerLayer = L.layerGroup().addTo(map);Luego, para agregar marcadores, uso: -
var markers = new L.MarkerClusterGroup(); //console.log(pointsForMarker); // Add people to the map: var status; var username; pointsForMarker.forEach((point) => { username = point.name; status = point.status; var client = L.divIcon({ className: 'location-pin', html: '<img id="operatorimg" src="img/'+point.name+'.jpg"><div id='+username+' class="pin '+status+'"></div>', iconSize: [60, 60], iconAnchor: [20, 66]}); //alert (point.name); var marker = L.marker ([point.lat, point.lng], { icon: client }); markers.addLayer(marker); marker.name = point.name; status = point.status; var username = point.name; marker.bindPopup(username + ' is online now and available'); map.addLayer(markers);Mis datos se guardan y cargan así: -
const pointsForMarker = [ { name: 'SAM', lat: 52.4734975, lng: -1.4911260, ID: 100102, status: 'offline'} ]Si desea eliminar todos sus marcadores del grupo de grupos de marcadores, simplemente use su método clearLayers() :
markers.clearLayers();El uso de jQuery solo eliminará temporalmente los marcadores actualmente visibles, y Leaflet.markercluster los volverá a agregar automáticamente al desplazarse o hacer zoom.