DefaultClusterRenderer getMarker () gibt beim Zoomen null zurück

8

Ich möchte den Hintergrund der Clustermarkierung bei Klick ändern. Ich mache das über

%Vor%

Das funktioniert in einem Fall gut: Wenn ich ein- oder ausziehe und die Anzahl der Clustermarker sich nicht ändert. Wenn ich zum Beispiel einen Cluster von 15 und einen Cluster von 5 hätte, dann zoome einen Level hinein oder heraus, bleiben die gleichen zwei Cluster übrig. Wenn Sie auf eines dieser jetzt renderer.getMarker(cluster) klicken, wird null zurückgegeben. Wenn sie nach dem Zoomen neu gruppieren, ist getMarker nicht null.

Mein DefaultClusterRenderer ist unten. Ich habe den Marker auf onClusteredRendered überprüft und es ist nie null. Ist das ein Fehler im DefaultClusterRenderer oder sollte ich etwas anderes machen?

%Vor%

Initialisieren des ClusterManagers:

%Vor%

@antonio: Diese Initialisierung funktioniert für mich:

%Vor%     
ono 26.02.2016, 23:12
quelle

1 Antwort

3

renderer.getMarker(cluster) konnte in diesem Fall keine Markierung zurückgeben. Ein Workaround sollte erstellt werden:

%Vor%

Fügen Sie sie dann zum DefaultClusterRenderer Callback hinzu, da der Marker dort nie null ist:

%Vor%

Da% ce_de% sie löscht, wenn sich die Kameraposition ändert, löschen Sie die Cluster-Marker-Map, bevor Sie neue erstellen:

%Vor%

Jetzt kann ich den Marker erfolgreich bekommen DefaultClusterManager

    
ono 29.02.2016 19:34
quelle