From 723b46a5c0bfc71952e5c56fc4d00a32f3f16281 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 | 10 ++++++++++ 1 file changed, 10 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..0f0d6ba19 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 @@ -836,6 +836,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 +909,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); + } + } } /**