From ab01358eb163c0b1ad710c75cc94bf1c7cc3b4b2 Mon Sep 17 00:00:00 2001 From: Programmeister Date: Mon, 10 Mar 2025 12:32:59 +0300 Subject: [PATCH] Fix: #1424 - Added zIndex to markerOptions in onBeforeClusterRendered and onBeforeClusterItemRendered --- .../clustering/view/DefaultClusterRenderer.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java b/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java index 08ab0e081..679ec7123 100644 --- a/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java +++ b/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java @@ -59,6 +59,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -836,6 +837,9 @@ protected void onBeforeClusterItemRendered(@NonNull T item, @NonNull MarkerOptio } else if (item.getSnippet() != null) { markerOptions.title(item.getSnippet()); } + if (item.getZIndex() != null) { + markerOptions.zIndex(item.getZIndex()); + } } /** @@ -906,6 +910,13 @@ protected void onClusterItemUpdated(@NonNull T item, @NonNull Marker marker) { protected void onBeforeClusterRendered(@NonNull Cluster cluster, @NonNull MarkerOptions markerOptions) { // TODO: consider adding anchor(.5, .5) (Individual markers will overlap more often) markerOptions.icon(getDescriptorForCluster(cluster)); + ArrayList items = new ArrayList<>(cluster.getItems()); + if (!items.isEmpty()) { + Float zIndex = items.get(0).getZIndex(); + if (zIndex != null) { + markerOptions.zIndex(zIndex); + } + } } /**