Clics de clúster y clics de Android

Estoy usando la utilidad de clúster android en un mapa y succesffuly implementó un listener onclick con mClusterManager.setOnClusterItemClickListener () para todos los marcadores manejados por la biblioteca de clústeres.

Debido a que también quiero que algunos marcadores siempre estén sin un clúster, también agrego algunos marcadores sin usar el mClusterManager, pero directamente usando el mapa de mMap.addMarker (), de esta manera estoy seguro de que nunca se agrupan en el mapa.

Mi problema es que no puedo interceptar clics en esos marcadores (los que siempre no están agrupados) porque ya usé mMap.setOnMarkerClickListener (mClusterManager) para manejar los marcadores de los clics que se hicieron clic.

¿Hay una manera de escuchar los marcadores agrupados clicados y los marcadores marcados que no son manejados por la biblioteca de clústeres?

¿O hay una manera de especificar el administrador de clúster para nunca agrupar algunos marcadores? En este caso, no tendré que manejar los diferentes oyentes de clics ya que todos los marcadores se mostrarán utilizando la utilidad de agrupación.

Gracias

Puede crear un nuevo MarkerManager que pase al constructor ClusterManager . Luego, haga una nueva colección de Marker usando MarkerManager#newCollection y añada sus marcadores normales al mapa usando el método MarkerManager.Collection#addMarker .

Entonces, en lugar de llamar a mMap.setOnMarkerClickListener(mClusterManager) , llame a mMap.setOnMarkerClickListener(mMarkerManager) y mMap.setOnMarkerClickListener(mMarkerManager) envío de los eventos de clic de Marker a los oyentes adecuados. También necesitará configurar su marcador onMarkerClick para marcadores normales con la función MarkerManager.Collection#setOnMarkerClickListener(GoogleMap.OnMarkerClickListener markerClickListener) .

Recomiendo revisar el origen de las clases de MarkerManager y ClusterManager para obtener una mejor idea de cómo interactúan las clases.

Una forma más de recibir el evento de clic para Marker es usar la interfaz OnClusterItemClickListener .

Llame a mClusterManager.setOnClusterItemClickListener(this); Y hacer que su clase implemente OnClusterItemClickListener

A continuación, dentro del método onClusterItemClick , obtendrá el ClusterItem que es el marcador que se hizo clic,

 @Override public boolean onClusterItemClick(ClusterItem clusterItem) { Toast.makeText(getActivity(), "Latitude " + clusterItem.getPosition().latitude, Toast.LENGTH_LONG).show(); return true; } 
  • Escuchar nivel de zoom en google maps v2 en android
  • Mostrar archivo geojson grande en google maps android
  • Dibujar la polilínea a la aplicación Android google maps
  • Recibiendo la pantalla ambigua del cielo mientras que carga el mapa de google
  • La localización simulada no funciona en el mapa de Google
  • Adición de una capa KML a una aplicación de mapas de Android
  • ActionBarSherlock + ID de duplicado de la API de Google Maps v2
  • Cómo especificar el tamaño del icono en el Marcador en Google Maps V2 Android
  • Mapas de Google y diseño del coordinador
  • mapa androide de google que encuentra la distancia
  • Google Maps API V2 Zoom a la ubicación actual
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.