Nitish Nanda
Nitish Nanda

Reputation: 21

Android Google Maps Clustering: Marker Clicks Not Working Correctly with Multiple ClusterManagers

I have two ClusterManager instances in my Android app, one for user markers and one for business markers. While the markers are displayed and clustered correctly, only the markers managed by the last initialized ClusterManager respond to click events. Clicks on markers managed by the other ClusterManager are ignored. I'm using the Android Maps Extensions clustering library. What's the correct way to handle clicks for all marker types when using multiple ClusterManager instances?

when the user taps any marker, i want to know if it's a user or a business and can do something specific based on that.

// Business Cluster Manager (Similar setup)
businessClusterManager = ClusterManager(this, mMap)
val businessRenderer = BusinessMarkerRenderer(this, mMap, businessClusterManager) // Custom renderer
businessClusterManager.setRenderer(businessRenderer)
businessClusterManager.setOnClusterItemClickListener { item ->
    println("businessClusterManager setOnClusterItemClickListener: $item")
    // Handle business marker click
    item.marker?.let { enlargeMarker(it) } // Example
    true
}
// Add business markers
businessClusterManager.addItems(BusinessMarkerItems)

// User Cluster Manager
userClusterManager = ClusterManager(this, mMap)
val userRenderer = UserMarkerItemRenderer(this, mMap, userClusterManager) // Custom renderer (see below)
userClusterManager.setRenderer(userRenderer)
userClusterManager.setOnClusterItemClickListener { item ->
    println("userClusterManager setOnClusterItemClickListener: $item")
    // Handle user marker click
    item.marker?.let { enlargeMarker(it) } // Example
    true
}
// Add user markers to the cluster manager
userClusterManager.addItems(UserMarkerItems)

Upvotes: 0

Views: 11

Answers (0)

Related Questions