From 2502819d8f8b9cb8b0bf884129bd95e016b579f1 Mon Sep 17 00:00:00 2001 From: Jovanni Lo Date: Tue, 29 Sep 2026 02:53:06 +0800 Subject: [PATCH 1/2] fix(ios): defer Google marker add until custom view lays out --- ios/core/GoogleMapProvider.mm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ios/core/GoogleMapProvider.mm b/ios/core/GoogleMapProvider.mm index 7c755a6..939da5c 100644 --- a/ios/core/GoogleMapProvider.mm +++ b/ios/core/GoogleMapProvider.mm @@ -667,6 +667,11 @@ - (void)addMarkerViewToMap:(LuggMarkerView *)markerView { if (!_mapView) return; + // Custom icons rasterize from layout; adding before that shows the SDK's + // default pin until markerViewDidLayout re-syncs. + if (markerView.hasCustomView && !markerView.didLayout) + return; + GMSAdvancedMarker *marker = [[GMSAdvancedMarker alloc] init]; marker.position = markerView.coordinate; marker.title = markerView.title.length > 0 ? markerView.title : nil; From 92ea99db98fece4b2a9dcd53caf0223f39e0b471 Mon Sep 17 00:00:00 2001 From: Jovanni Lo Date: Tue, 29 Sep 2026 02:53:55 +0800 Subject: [PATCH 2/2] fix(android): skip pending custom markers until laid out --- .../src/main/java/com/luggmaps/core/GoogleMapProvider.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt b/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt index 5c664ee..64d1245 100644 --- a/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +++ b/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt @@ -769,7 +769,11 @@ class GoogleMapProvider(private val context: Context) : private fun processPendingMarkers() { if (googleMap == null) return - pendingMarkerViews.forEach { addMarkerViewToMap(it) } + pendingMarkerViews.forEach { + // markerViewDidLayout adds it once the bitmap can be drawn + if (it.hasCustomView && !it.didLayout) return@forEach + addMarkerViewToMap(it) + } pendingMarkerViews.clear() }