Google Map vs. Administrador de clústeres: onCameraChangeListener obsoleto

Tengo una aplicación para Android con unos 500-1000 marcadores. Estoy usando el ClusterManager de los android-maps-utils como se muestra aquí para agrupar estos marcadores.

En la última actualización de Google Play Services, Google cambió el modelo de escuchas de Google Map. El OnCameraChangeListener está marcado como obsoleto ahora. En su lugar hay cuatro nuevos oyentes ( OnCameraIdleListener, OnCameraMoveListener, OnCameraMoveStartedListener , OnCameraMoveCanceledListener ).

Desde que la actualización de mi aplicación es increíblemente lento. Se atasca en el movimiento / zoom del mapa, el proceso de agrupación es laggy y necesita unos segundos.

Pensé que este comportamiento es quizás ligado a los cambios en el modelo del oyente. Por lo tanto, traté de reemplazar la función addOnCameraChangeListener(clustermanager) con el nuevo addOnCameraIdleListener(clustermanager) . Desafortunadamente esto no está funcionando ya que el ClusterManager no implementa la interfaz necesaria.

Y aquí es donde se vuelve extraño, porque la versión actual (0.4.3) del ClusterManager en GitHub implementa esa interfaz. Así que debería funcionar.

Estoy importando el ClusterManager con Gradle:

compile 'com.google.maps.android:android-maps-utils:0.4.3

pero mi versión local del ClusterManager todavía parece ser una antigua que implementa el OnCameraChangeListener antiguo.

Entonces, ¿qué hay de malo aquí? ¿Se trata de un mal comportamiento de Gradle? ¿Alguien tiene una idea de cómo solucionar este problema? ¿Y hay alguien más cuyo Google Map / Clusterer es lento y laggy desde la última actualización de Play Services?

Aprecio cualquier ayuda. Gracias chicos.

Necesita usar gooleMap.setOnCameraIdleListener (mClusterManager); en lugar de googleMap.setOnCameraMoveListener (mClusterManager);

Puede buscar el código fuente de ClusterManager y verá que ClusterManager implementa el nuevo OnCameraIdleListener.

También necesita actualizar a los nuevos android-maps-utils: 0.4.4 (compilar 'com.google.maps.android:android-maps-utils:0.4.4')

Buena suerte y voto hacia arriba … 😉

  • Maps de Android ClusteredMarkers - no muestran unclustered?
  • Google maps api v2 fuera de error de memoria
  • Android maps utils cluster icon color
  • Cómo agregar la ventana de información para el marcador de clustering en android?
  • Android, devolución de llamada cuando se completa el agrupamiento de mapas
  • Agrupamiento de mapas: los marcadores de zoom máximo siguen agrupados
  • Cómo actualizar marcadores en el mapa cuando se utiliza ClusterManager
  • Marcadores de clúster en Google Maps Android v2
  • La adición de nuevos marcadores en el mapa utilizando el gestor de clúster no refleja los cambios hasta que haga zoom y aleje el mapa
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.