Frage

Ich verwende GMaps V3 mit MarkerClusterer von http: // Code. google.com/p/gmaps-utility-library-dev/

Markierungen auf der Karte angezeigt sind benutzerdefiniert und oft zusammenfallen, also egal, wie viel Sie Zoom-In, die Clusterer zeigen immer gibt es mehrere Artikel an einem Ort. Aber der Benutzer sollte in der Lage sein, jede einzelne Markierung klicken, um die Info-Fenster zu sehen. Wissen Sie, jede mögliche Weise damit umgehen?

Ich habe versucht, Lage etwas auf dem Server Randomisierung, aber die zufällig ist nicht zufällig genug und Marker immer wieder kollabiert, nur nicht so oft.

War es hilfreich?

Lösung

Antwort auf OP Kommentar in meiner vorherigen Antwort, da es nicht in dem Kommentarfeld passte:

  

Dies verhindert Clusterer aus den Markierungen Gruppierung, aber wenn die Koordinaten identisch sind alle Marker bleibt auf dem jeweils anderen. Kennen Sie eine Abhilfe für dieses?

ich denke, das ist das erwartete Verhalten mit Google Maps - wenn Markierungen haben die genau die gleiche lat / lng dann erhalten Sie die Markierungen auf dem jeweils anderen.

Eine mögliche Abhilfe ist nur die erste Markierung auf der Karte hinzufügen und dann, wenn Sie eine andere Marke zu einem lat / lng bereits definiert (keep Spur von ihnen mit einem JS Karte) hinzuzufügen, versuchen Sie eine Zählung hinzufügen könnte (oder eine Reihe von Marker-Info-Aufbau) und die Infofenster Text mit dieser Information aktualisieren. Z.B. Klick auf den Marker dann ein Infofenster zu sagen gibt es 15 „Sachen“ an dieser Stelle zeigen würde, und dann ihre Namen auflisten und Attribute in einer Liste unter ihm ...

Eine andere Möglichkeit ist es, „Zittern“ nachfolgende Marker durch eine Zufallszahl an das Ende der Zugabe dezimal lat / lng. Auf diese Weise, wenn der Benutzer zoomt in den ganzen Weg werden die Markierungen leicht versetzt werden. Diese Option fühlt sich ein bisschen "dirty" though.

Andere Tipps

hatte ich dieses Problem und löste es durch einen Konstruktor Eigenschaft „maxZoom“ definiert, die niedriger war als die maxZoom für die Google-Karte:

var markerCluster = new MarkerClusterer(map, markers, { maxZoom: 18 });

Wenn Sie eine Markierung hinzufügen, können Sie überprüfen, ob es andere Markierungen an derselben Stelle und in der Infofenster merken konnte, dass es mehrere Marker.

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