IllegalArgumentException: Unmanaged descriptor using gms.maps.model.Marker.setIcon

后端 未结 10 2044
眼角桃花
眼角桃花 2020-12-14 05:39

I have an app that use android-maps-utils and glide for marker icons.
I got an error report using Firebase crash reporting which I can\'t track in source code because

10条回答
  •  春和景丽
    2020-12-14 05:53

    This exception happens when your marker was reclustered by ClusterManager. ClusterManager recreates marker on clustering. So, to avoid it you must get your marker from render of ClusterManeger:

    ClusterIconRender render = (ClusterIconRender) mClusterManager.getRenderer();
    Marker trueMarker = render.getMarker(clusterMarker);
    if (trueMarker != null) {
        trueMarker.setIcon(...);
        ... // do whatever else your want with marker
    }
    

    In code above ClusterMarker implements ClusterItem and ClusterIconRender extends DefaultClusterRenderer.

提交回复
热议问题