Api GoogleMaps V3 - comment supprimer les icônes cluster?

Comment puis-je supprimer toutes les icônes de regroupement (marqueurs de regroupement) de la carte? essayé avec des conseils comme:

API GoogleMaps V3: comment supprimer tous les marqueurs?

... mais il n'a pas travaillé.

pouvez-vous m'aider comment faire pour y parvenir?

merci d'avance!

mise à JOUR (2010-11-23)

les marqueurs sont stockés dans un tableau avec

var markersClust = Array();

... et sont ajoutés avec (combinaison avec php):

markersClust.push(marker_<?php echo $team["Team"]["id"]; ?>);

var markerClusterer = new MarkerClusterer(MyMap.map, markersClust, clusterOptions);

et il fonctionne très bien.

mais, je ne peux pas les enlever d'une carte, et ça me motive...

essayé de supprimer les marqueurs (et je l'ai fait) avec

for ( var i=0; i < markersClust.length; i++) {
    markersClust[i].setMap(null);
}
markersClust = []; 

mais les icônes de clusters sont toujours sur la carte.

j'ai aussi essayé des choses comme:

markerClusterer.clearMarkers();

et

MyMap.preventDefault();
MyMap.stopPropagation();
MyMap.clearMarkers();

mais, encore une fois, les icônes de la clusters sont toujours là, sur une carte.

que dois-je faire d'autre pour supprimer ces icônes de ma carte? s'il vous plaît aider...

18
demandé sur Community 2010-11-22 23:22:09

4 réponses

itérez chaque marqueur et positionnez la carte de ce marqueur à null. Cela supprimera le marqueur de la carte.

0
répondu Crag 2010-11-22 20:27:33

C'est la bonne façon de le faire:

// 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();

Démo: http://jsfiddle.net/HoffZ/gEzxx/

Documentation:https://googlemaps.github.io/js-marker-clusterer/docs/reference.html

37
répondu HoffZ 2017-02-18 06:00:37

j'ai eu le même problème. Je l'ai corrigé en ne déclarant mon MarkerClusterer qu'une seule fois lors de l'initialisation:

markerCluster = new MarkerClusterer(map);
2
répondu Sergey Serduk 2012-10-03 18:34:14

C'est ce que je fais. J'ai beaucoup de marqueurs mais quand je passe à heatmap je veux enlever tous les marqueurs et clusterer. Lorsque je crée un marqueur, Je l'ajoute au tableau global markers

 markers.push(marker);

je définir clustere comme ceci

markerCluster = new MarkerClusterer(map, markers);
markerCluster.setIgnoreHidden(true);

quand je clique sur Bouton pour afficher heatmap

$.each(markers, function(k, v){
    v.setVisible(false);
});
markerCluster.repaint();

Quand repaint() est appelé avec ignore hidden il cache toutes les icônes de cluster.

0
répondu Sergey Romanov 2013-01-21 13:13:51