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...
4 réponses
itérez chaque marqueur et positionnez la carte de ce marqueur à null. Cela supprimera le marqueur de la carte.
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
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);
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.