title: Google Map onMapClickListener
body: <p>I am using clustering to draw markers on a map.</p>
  <p>In some cases, I need to prevent close markers from being clustered.</p>
  <p>To do this, I draw them separately.</p>
  <p>By default, when I open the map, I set as cluster</p>
  <pre><code>override fun onMapReady(map: GoogleMap?) {
          googleMap = map
          googleMap?.uiSettings?.isMyLocationButtonEnabled = true
          googleMap?.uiSettings?.isZoomControlsEnabled = true
          googleMap?.uiSettings?.isCompassEnabled = true
          googleMap?.let {
              setupCluster(googleMap!!)
          }
          googleMap?.setOnMapClickListener {
              if (viewModel.isClient) {
                  viewModel.setType(MapNewTwoViewModel.OrderType.MyOrders())
              } else
                  viewModel.setType(MapNewTwoViewModel.OrderType.AllOrders())
  
          }
  }
  
  private fun setupCluster(map: GoogleMap) {
          clusterManager = ClusterManager(MyApplication.applicationContext(), map)
          renderer = DotRenderer()
          clusterManager?.renderer = renderer
          map.setOnCameraIdleListener(clusterManager)
          map.setOnMarkerClickListener(clusterManager)
          map.setOnInfoWindowClickListener(clusterManager)
          clusterManager?.setOnClusterClickListener(this)
          clusterManager?.setOnClusterItemClickListener(this)
      }
  </code></pre>
  <p>i.e. markerClickLister and other Listeners are controlled by ClusterManager.</p>
  <p>Sometimes I submit a single order via Bundle, which should not be clusterable</p>
  <pre><code>private fun setSingleOrder(orders: List&lt;OrderX&gt;?) {
          if(!orders.isNullOrEmpty()) {
              Log.d(&quot;Marker&quot;, &quot;3&quot;)
              
              googleMap?.setOnInfoWindowClickListener(null)
              googleMap?.setOnMarkerClickListener(null)
              googleMap?.setOnMarkerClickListener {
                  Log.d(&quot;Marker&quot;, &quot;1&quot;)
                  for((id, or) in allOrders.entries){
                      Log.d(id, or.toString())
                  }
                  Log.d(&quot;Marker&quot;, &quot;2&quot;)
                  Log.d(&quot;Marker Snippet&quot;, it.snippet.toString())
                  val singleOrders = listOf(allOrders[it.snippet.toString()]!!)
                  viewModel.setType(MapNewTwoViewModel.OrderType.SingleOrder(), singleOrders)
                  showBottomSheetOrders()
                  true
              }
              Log.d(&quot;Marker&quot;, &quot;4&quot;)
              val line = PolylineOptions()
              allOrders[orders[0].id.toString()] = orders[0]
  
              for (dot in orders[0].dots) {
                  allDots[dot.id] = DotXPosition(dot, dot.position, orders[0].isMyOrder)
                  val marker = MarkerOptions()
                      .position(dot.position)
                      .snippet(orders[0].id.toString())
                      .icon(getItemIcon(dot))
                  val markerMap = googleMap?.addMarker(marker)
                  markerMap?.let {
                      markerMap.snippet = orders[0].id.toString()
                      markersSingleOrder.add(markerMap)
                  }
                  line.add(dot.position)
  
              }
              stylePolyline(line, orders[0].isMyOrder)
              val currPolyline = googleMap?.addPolyline(line)
              currPolyline?.let {
                  allPolylines[orders[0].id.toString()] = currPolyline
              }
  
  
          }
      }
  </code></pre>
  <p>I'm trying to override markerClickListener, but nothing happens when the marker is clicked. It seems that it is still controlled by the ClusterManager, and since there are no orders there, they will not be drawn.</p>
  <p>Tell me how to solve this problem, for several days I can not think of anything</p>