Thanks @JJD, I wrote the same thing on Kotlin.
private var selectedBitmap: BitmapDescriptor? = null private var unselectedBitmap: BitmapDescriptor? = null private var lastMarker: Marker? = null private var clusterManager: ClusterManager<StationClusterItem>? = null override fun onMapReady(googleMap: GoogleMap) { this.googleMap = googleMap clusterManager = ClusterManager(context!!, googleMap) val clusterRenderer = MarkerClusterRenderer(context!!, googleMap, clusterManager!!, unselectedBitmap!!) clusterManager!!.renderer = clusterRenderer
UPDATE
I got an exception: java.lang.IllegalArgumentException: Unmanaged descriptor when clicking on tokens (in the lastMarker?.setIcon(unselectedBitmap) ).
After examining IllegalArgumentException: an unmanaged descriptor using gms.maps.model.Marker.setIcon, I rewrote this listener:
private var selectedItem: StationClusterItem? = null clusterManager!!.setOnClusterItemClickListener { item -> if (selectedItem != null) {
source share