2015-05-01 18 views
11

Beim Hinzufügen neuer Markierungen auf der Karte mithilfe des Cluster-Managers werden die Änderungen erst nach dem Aktualisieren des Zooms berücksichtigt ein- und auszoomenDas Hinzufügen neuer Markierungen auf der Karte mithilfe des Cluster-Managers spiegelt die Änderungen erst wieder, wenn ich die Karte heranzoome und verkleinere.

Ich habe viele Fragen auf Stack-Überlauf gesehen, aber das ist für mich nicht funktioniert,

Also mir bitte sagen, wie die Karte zu aktualisieren, ohne die Karte zu löschen.

Code:

for (int i = 0; i < name.length; i++) 
{ 
    Person_marker person_marker = new Person_marker(createRandLocation(latLng), 
    name[i], getAddress(latLng), typedArray.getResourceId(i, -1), time[i], acuracy[i]); 
    person_markerList.add(person_marker); 
} 
clusterManager.clearItems(); clusterManager.addItems(person_markerList); 
+0

Bitte zeigen Sie, was Sie bisher getan haben. –

+0

@JamieRees for (int i = 0; i

Antwort

22

Nachdem alle Markierungen hinzufügen, wenn Sie clusterManager.cluster() nennen es zeichnen, was previsouly hinzugefügt worden ist.

Hoffe, das hilft

+1

+1 Sehr nett, hat mir geholfen! Wo ist das dokumentiert? Die Google-Cluster-Demo verwendet das nicht, https://github.com/googlemaps/android-maps-utils/blob/master/demo/src/com/google/maps/android/utils/demo/ClusteringDemoActivity.java – Eduardo

+3

Richtig, ich sehe es nirgendwo richtig dokumentiert, aber wenn Sie den Code des ClusterManagers öffnen (https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google /maps/android/clustering/ClusterManager.java) und überprüfen Sie die Cluster-Methode, die Javadoc sagt, dass Sie sie nach dem Hinzufügen neuer Elemente aufrufen möchten. – k3v1n4ud3