Frage

Wie kann ich alle Cluster-Symbole entfernen (Cluster-Marker) von der Karte? tryed mit Hinweisen wie:

Google Maps API v3: Wie alle Marker entfernen?

... aber es hat nicht funktioniert.

können Sie mir helfen, wie das erreichen?

Vielen Dank im Voraus!

UPDATE (2010-11-23)

Markierungen gespeichert sind, in Reihe mit

var markersClust = Array();

... und sind mit (Kombination mit php) hinzugefügt:

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

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

und es funktioniert gut.

, aber ich kann sie nicht von einer Karte entfernen, und es macht mir ...

tryed Markierungen zu entfernen (und ich) mit

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

aber Cluster Symbole sind stil auf der Karte.

i tryed auch Dinge wie:

markerClusterer.clearMarkers();

und wie

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

, aber auch hier Symbole der Cluster sind immer noch da, auf einer Karte.

, was sonst noch tun muss ich tun, um diese Cluster Symbole aus meiner Karte zu entfernen? Bitte Hilfe ...

War es hilfreich?

Lösung

Iterate über jeden Marker und Satz, dass Markierung der Karte auf null. Das wird die Markierung aus der Karte entfernen.

Andere Tipps

Das ist der richtige Weg, es zu tun:

// 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/

Dokumentation: https://googlemaps.github.io/js- Marker-Clusterer / docs / reference.html

Ich hatte das gleiche Problem auch. Ich reparierte es nur um meine MarkerClusterer erklärt einmal bei der Initialisierung:

markerCluster = new MarkerClusterer(map);

Das ist, was ich tue. Ich habe viele Markierungen, aber wenn ich zu Heatmap schalte ich möchte alle Marker und Clusterer entfernen. Wenn ich Marker erstellen füge ich es auf globalen Marker Array

 markers.push(marker);

Ich definiere clustere wie diese

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

Wenn ich klicken Heatmap zeigen

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

Wenn repaint() heißt mit versteckten ignorieren alle Cluster-Symbole versteckt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top