Ich erstelle Marker-Cluster mit RadiusMarkerClusterer in Android. Ich möchte die Positionen der Marker anzeigen, aus denen ein bestimmter Marker-Cluster besteht. Ich bekomme nicht, wie man die Marker-Information nach dem Erstellen der Cluster abruft. Ist es möglich, dies zu tun? Wenn ja, wie?Erhalten Sie alle Marker eines Clusters in OSMBonusPack
0
A
Antwort
0
RadiusMarkerClusterer ist eine ziemlich einfache Unterklasse von MarkerClusterer (abstrakte Eltern) und es bietet keine Informationen über Clustermarker für den Aufrufer. Aber intern hat die Klasse diese Informationen in den Instanzen StaticCluster
gespeichert. Sie können Ihre eigene Implementierung erstellen. Sehen Sie sich den Quellcode RadiusMarkerClusterer an und verwenden Sie ihn als Anleitung oder Beispiel. Eine andere Lösung könnte die Unterklasse RadiusMarkerClusterer und die Override-Methode buildClusterMarker sein. Sie können Informationen hinzufügen, die Sie zum Erstellen von Markern über setRelatedObjectMethod benötigen, oder Sie können ein InfoWindow mit beliebigen Informationen erstellen.
Zum Beispiel:
@Override public Marker buildClusterMarker(StaticCluster cluster, MapView mapView) {
Marker m = new Marker(mapView);
m.setPosition(cluster.getPosition());
m.setInfoWindow(null);
m.setAnchor(mAnchorU, mAnchorV);
Bitmap finalIcon = Bitmap.createBitmap(mClusterIcon.getWidth(), mClusterIcon.getHeight(), mClusterIcon.getConfig());
Canvas iconCanvas = new Canvas(finalIcon);
iconCanvas.drawBitmap(mClusterIcon, 0, 0, null);
String text = "" + cluster.getSize();
int textHeight = (int) (mTextPaint.descent() + mTextPaint.ascent());
iconCanvas.drawText(text,
mTextAnchorU * finalIcon.getWidth(),
mTextAnchorV * finalIcon.getHeight() - textHeight/2,
mTextPaint);
m.setIcon(new BitmapDrawable(mapView.getContext().getResources(), finalIcon));
//beggining of modification
List<Marker> markersInCluster = new ArrayList<Marker>();
for (int i = 0; i < cluster.getSize(); i++) {
markersInCluster.add(cluster.getItem(i))
}
m.setRelatedObject(markersInCluster);
//end of modification
return m;
}
Verwandte Themen
- 1. Android - OSMbonuspack Marker nicht gefunden
- 2. So ändern Sie die Marker-Blase mit OSMDROID/OSMBonusPack
- 3. OSMBonuspack Roadmanager NetworkOnMainThreadException
- 4. Ausführen eines Ignite-Clusters
- 5. OSMBonuspack Benutzerdefinierte KML-Markierung in falscher Farbe
- 6. Wie kann ich einen repräsentativen Punkt eines GMM-Clusters erhalten?
- 7. Erstellen eines Kubernetes-Clusters in Azure fehlschlägt
- 8. Erhalten Sie einige Marker-Position in Vuforia
- 9. Erhalten Sie alle Methoden eines Objekts?
- 10. Erhalten Sie alle Werte eines bestimmten Schlüssels
- 11. Erhalten Sie alle Gruppen eines Facebook-Benutzers
- 12. Starten eines Apache Spark-Clusters
- 13. Erhalten Sie alle Fragen eines Moodle Quiz
- 14. OSMBonusPack Route Schritte in Deutsch?
- 15. erhalten Sie alle Elemente eines bestimmten Formulars
- 16. Erhalten Sie alle Permutationen eines nupy Array
- 17. Erhalten Sie alle Implementierungen eines abstrakten Typs
- 18. Systemkonfiguration eines eigenständigen Hadoop-Clusters
- 19. JSARToolkit erhalten Marker ID
- 20. GeoFire Abfrage alle Marker
- 21. Erhalten alle Funktionen eines Moduls
- 22. Sicherung eines Clusters mit zwei Knoten
- 23. Zeichnen eines Clusters mit [1 * n] Matrixvariable
- 24. Erstellen eines Clusters mit Amazon ECS CLI
- 25. Ändern Sie das Symbol des Markerclusters je nach Marker-Typ innerhalb des Clusters
- 26. Sitzungsdaten zwischen Servlets innerhalb eines Clusters
- 27. Erhalten Sie alle Warteschlangen eines Austausches in RabbitMQ
- 28. Erhalten Sie alle Zeilen eines Fensters in Spark strukturiertem Streaming
- 29. Wie erhalten Sie alle Indizes eines Musters in einer Zeichenfolge?
- 30. Erhalten Sie alle Werte eines Namespaces in Typescript?
Gerade für die Klärung, wenn nicht, wird dieser buildClusterMarker eigentlich genannt? Wie jedes Mal wenn ich einen Marker in der Instanz von RadiusMarkerClusterer hinzufüge? –
Es ist eigentlich öfter. Die aktuelle Implementation von MarkerClusterer erstellt Cluster neu, wenn sich der Zoom ändert. Quelle: https://github.com/MKergall/osmbonuspack/blob/f08a121031abd6fabcc17a0c08de60821d595537/OSMBonusPack/src/main/java/org/osmdroid/bonuspack/clustering/MarkerClusterer.java#L97 –