Google Maps API v3 - come rimuovere le icone a grappolo?
-
27-09-2019 - |
Domanda
Come posso rimuovere tutte le icone a grappolo (indicatori di cluster) da carta? tryed con consigli come:
Google Maps API v3: Come rimuovere tutti i marcatori?
... ma non ha funzionato.
mi può aiutare come realizzare questo?
vi ringrazio in anticipo!
UPDATE (2010-11-23)
marcatori sono memorizzati in array con
var markersClust = Array();
... e sono aggiunti con (combinazione con php):
markersClust.push(marker_<?php echo $team["Team"]["id"]; ?>);
var markerClusterer = new MarkerClusterer(MyMap.map, markersClust, clusterOptions);
e funziona bene.
, ma, non posso rimuoverli da una mappa, e mi spinge ...
provato a rimuovere i marcatori (e ho fatto) con
for ( var i=0; i < markersClust.length; i++) {
markersClust[i].setMap(null);
}
markersClust = [];
, ma le icone cluster sono stil sulla mappa.
Inoltre ho provato cose come:
markerClusterer.clearMarkers();
e come
MyMap.preventDefault();
MyMap.stopPropagation();
MyMap.clearMarkers();
, ma, ancora una volta, le icone dei cluster sono ancora lì, su una mappa.
che altro devo fare per rimuovere le icone cluster da mia mappa? Si prega di aiuto ...
Soluzione
iterare su ogni marcatore e set che mappa di marcatore per nulla. Che rimuovere l'indicatore dalla mappa.
Altri suggerimenti
Questo è il modo giusto per farlo:
// 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();
Demo: http://jsfiddle.net/HoffZ/gEzxx/
Documentazione: https://googlemaps.github.io/js- marcatore-clusterer / docs / reference.html
Ho avuto lo stesso problema pure. Ho riparato da solo dichiarando la mia MarkerClusterer una volta durante l'inizializzazione:
markerCluster = new MarkerClusterer(map);
Questo è quello che faccio. Ho molti marcatori, ma quando passo ad heatmap voglio rimuovere tutti i marcatori e clusterer. Quando creo marcatore lo aggiungo alla serie marcatori globale
markers.push(marker);
definisco clustere come questo
markerCluster = new MarkerClusterer(map, markers);
markerCluster.setIgnoreHidden(true);
Quando pulsante i Clicca per vedere heatmap
$.each(markers, function(k, v){
v.setVisible(false);
});
markerCluster.repaint();
Quando repaint()
viene chiamato con ignore nascosto nasconde tutte le icone a grappolo.