googlemaps / android-maps-utils

Maps SDK for Android Utility Library
https://developers.google.com/maps/documentation/android-sdk/utility
Apache License 2.0
3.54k stars 1.53k forks source link

java.lang.IllegalArgumentException : Unmanaged descriptor #1289

Open initLiu opened 8 months ago

initLiu commented 8 months ago

version:
com.google.android.gms:play-services-maps:17.0.0
com.google.maps.android:android-maps-utils:3.6.0

OS version: Android 12

The exception, java.lang.IllegalArgumentException : Unmanaged descriptor is thrown when set icon for marker.

java.lang.IllegalArgumentException : Unmanaged descriptor
        at com.google.maps.api.android.lib6.common.m.b(:com.google.android.gms.dynamite_mapsdynamite@234414038@23.44.14 (190400-0):10)
        at com.google.maps.api.android.lib6.impl.w.c(:com.google.android.gms.dynamite_mapsdynamite@234414038@23.44.14 (190400-0):18)
        at com.google.maps.api.android.lib6.impl.cw.u(:com.google.android.gms.dynamite_mapsdynamite@234414038@23.44.14 (190400-0):11)
        at com.google.android.gms.maps.model.internal.r.bb(:com.google.android.gms.dynamite_mapsdynamite@234414038@23.44.14 (190400-0):347)
        at m.ff.onTransact(:com.google.android.gms.dynamite_mapsdynamite@234414038@23.44.14 (190400-0):21)
        at android.os.Binder.transact(Binder.java:1100)
        at com.google.android.gms.internal.maps.zza.zzb(zza.java:4)
        at com.google.android.gms.internal.maps.zza.zzb$bridge(zza.java:0)
        at com.google.android.gms.internal.maps.zzv.zzg(zzv.java:5)
        at com.google.android.gms.maps.model.Marker.setIcon(Marker.java:0)
        at com.test.mobile.android.search.views.BrandRender.onClusterItemRendered(BrandRender.java:4)
        at com.test.mobile.android.search.views.BrandRender.onClusterItemRendered(BrandRender.java:0)
        at com.google.maps.android.clustering.view.DefaultClusterRenderer$CreateMarkerTask.perform(DefaultClusterRenderer.java:0)
        at com.google.maps.android.clustering.view.DefaultClusterRenderer$CreateMarkerTask.access$1900(DefaultClusterRenderer.java:0)
        at com.google.maps.android.clustering.view.DefaultClusterRenderer$MarkerModifier.performNextTask(DefaultClusterRenderer.java:23)
        at com.google.maps.android.clustering.view.DefaultClusterRenderer$MarkerModifier.handleMessage(DefaultClusterRenderer.java:28)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Method.java)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
wangela commented 8 months ago

If you would like to upvote the priority of this issue, please comment below or react on the original post above with :+1: so we can see what is popular when we triage.

@initLiu Thank you for opening this issue. 🙏 Please check out these other resources that might help you get to a resolution in the meantime:

This is an automated message, feel free to ignore.

kikoso commented 7 months ago

Hi @initLiu ,

It is hard to see what was going on here without a code snippet, can you provide a sample that can get this reproduced?

Also, as a rule of thumb: this can happen when you are trying to access a Marker that has been removed from the map with map.clear(). Could you check if this is the case?

n-droidev commented 7 months ago

@kikoso Here is code :

                val bitmapDescriptor = BitmapDescriptorFactory.fromResource(drawableResId)
                val marker = mClusterRenderer?.getMarker(clusterItem)
                marker?.setIcon(bitmapDescriptor)