comment effacer la carte des feuillets de tous les marqueurs et calques avant d'en ajouter de nouveaux?
j'ai le code de la jachère:
map: function (events) {
var arrayOfLatLngs = [];
var _this = this;
//setup a marker group
var markers = L.markerClusterGroup();
events.forEach(function (event) {
//setup the bounds
arrayOfLatLngs.push(event.location);
//create the marker
var marker = L.marker([event.location.lat, event.location.lng]);
marker.bindPopup(View(event));
//add marker
markers.addLayer(marker);
});
//add the group to the map
//for more see https://github.com/Leaflet/Leaflet.markercluster
this.map.addLayer(markers);
var bounds = new L.LatLngBounds(arrayOfLatLngs);
this.map.fitBounds(bounds);
this.map.invalidateSize();
}
j'ai d'abord appel à cette fonction et il va ajouter tous les events
à la carte avec des marqueurs et des clusters.
à un certain point mousse, je passe dans certains autres événements, la carte effectue un zoom avant à la nouvelle des événements, mais les anciens sont toujours sur la carte.
J'ai essayé this.map.removeLayer(markers);
et quelques autres trucs, mais je ne peux pas obtenir le vieux marqueurs à disparaître
des idées?
source d'informationauteur Patrioticcow
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez supprimer tous les calques (marqueurs) dans votre groupe, vous pouvez utiliser le
clearLayers
méthode deL.markerClusterGroup()
. Votre référence est appelémarkers
de sorte que vous devez appeler:Vous perdez le marqueur de référence, car il est configuré avec var.
Essayez d'enregistrer les références à " il " à la place.
Puis plus tard, quand vous en avez besoin pour supprimer les marqueurs exécuter:
Alternativement, au lieu de l'enregistrement de chaque référence pour chaque marqueur, vous pouvez simplement enregistrer le cluster de 'cette'.