API de Google Maps v3 - cómo quitar iconos de racimo?
-
27-09-2019 - |
Pregunta
¿Cómo puedo eliminar todos los iconos de racimo (clúster) de marcadores mapa? tryed con consejos como:
API de Google Maps v3: ¿Cómo eliminar todos los marcadores?
... pero no funcionó.
¿me puede ayudar a cómo lograr eso?
gracias de antemano!
UPDATE (2010-11-23)
marcadores se almacenan en matriz con
var markersClust = Array();
... y se añaden con (combinación con php):
markersClust.push(marker_<?php echo $team["Team"]["id"]; ?>);
var markerClusterer = new MarkerClusterer(MyMap.map, markersClust, clusterOptions);
y trabaja muy bien.
Pero, yo no puede eliminarlos de un mapa, y me vuelve ...
tryed para eliminar marcadores (y yo) con
for ( var i=0; i < markersClust.length; i++) {
markersClust[i].setMap(null);
}
markersClust = [];
pero los iconos de racimo son stil en el mapa.
También He probado cosas como:
markerClusterer.clearMarkers();
y como
MyMap.preventDefault();
MyMap.stopPropagation();
MyMap.clearMarkers();
Pero, de nuevo, los iconos de los racimos están todavía allí, en un mapa.
¿Qué más tengo que hacer para eliminar esos iconos racimo de mi mapa? Por favor, ayuda ...
Solución
iterar sobre cada marcador y el conjunto que el mapa de marcador a cero. Eso le quita el marcador del mapa.
Otros consejos
Esta es la forma correcta de hacerlo:
// Unset all markers
var i = 0, l = markers.length;
for (i; i<l; i++) {
markers[i].setMap(null)
}
markers = [];
// Clears all clusters and markers from the clusterer.
markerClusterer.clearMarkers();
Demostración: http://jsfiddle.net/HoffZ/gEzxx/
Documentación: https://googlemaps.github.io/js- marker-clusterer / docs / reference.html
Yo tenía el mismo problema también. Me fijo sólo para declarar mi MarkerClusterer una vez durante la inicialización:
markerCluster = new MarkerClusterer(map);
Esto es lo que hago. Tengo muchos marcadores, pero cuando cambio a la carta térmica Quiero eliminar todos los marcadores y clusterer. Cuando creo marcador lo añado a la matriz marcadores mundial
markers.push(marker);
Me defino como esto clustere
markerCluster = new MarkerClusterer(map, markers);
markerCluster.setIgnoreHidden(true);
Cuando i botón Haga clic para mostrar heatmap
$.each(markers, function(k, v){
v.setVisible(false);
});
markerCluster.repaint();
Cuando se llama repaint()
con ignore oculto que esconde todos los iconos de racimo.