Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Escuchar nivel de zoom en google maps v2 en android

Estoy desarrollando una aplicación de Android que se supone que utiliza Google Maps v2. Ahora estoy atascado en la búsqueda cuando el nivel de zoom del mapa ha cambiado. ¿Puede alguien ayudarme? Gracias de antemano.

  • Animación de marcadores en Google Maps V2
  • MyLocationOverlay o LocationManager para actualizar la ubicación actual
  • Cómo implementar la nueva versión de Google Maps de API v2
  • Android Google Maps v2 - establece el nivel de zoom para myLocation
  • Google Maps Android V2 y API de dirección
  • Usar google maps sin conexión en una aplicación
  • Mapas de Open Street con Android Google Maps Api v2
  • 3 Solutions collect form web for “Escuchar nivel de zoom en google maps v2 en android”

    Cree una implementación de OnCameraChangeListener y pase una instancia de ella a setOnCameraChangeListener() de su GoogleMap . Su oyente debe ser llamado con onCameraChange() siempre que el usuario cambie el zoom, el centro o la inclinación. CameraPosition el nuevo nivel de zoom desde el objeto CameraPosition que se pasa.

    Si está buscando cómo determinar si el nivel de zoom ha cambiado desde el nivel de zoom anterior, esto es lo que sugeriría:

    Defina una variable de instancia para realizar un seguimiento del nivel de zoom anterior:

     //Initialize to a non-valid zoom value private float previousZoomLevel = -1.0f; 

    Además, defina una variable de instancia para que sepa si el mapa está ampliando:

     private boolean isZooming = false; 

    Cuando configure su instancia de GoogleMap, déle un OnCameraChangeListener …

     //mMap is an instance of GoogleMap mMap.setOnCameraChangeListener(getCameraChangeListener()); 

    Ahora, defina el OnCameraChangeListener que determinará si el nivel de zoom ha cambiado:

     public OnCameraChangeListener getCameraChangeListener() { return new OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition position) { Log.d("Zoom", "Zoom: " + position.zoom); if(previousZoomLevel != position.zoom) { isZooming = true; } previousZoomLevel = position.zoom; } }; } 

    Ahora, puede comprobar el valor de isZooming para saber si está cambiando los niveles de zoom.

    Asegúrese de ajustar

     isZooming = false; 

    Después de haber completado cualquier acción depende de saber si el mapa está haciendo zoom.

    Dado que las respuestas anteriores se basan en OnCameraChangeListener y que está obsoleto , esta respuesta se basa en la cámara setOnCameraMoveListener .

    En este ejemplo, estoy cambiando mi Tipo de mapa cuando el usuario cambia el zoom (usando los controles o los dedos y el zoom). Si el nivel de zoom cambia por encima de 18.0, el tipo de mapa cambia a MAP_TYPE_HYBRIB y si va por debajo de 18.0, el tipo de mapa cambia a MAP_TYPE_NORMAL .

     googleMap.setOnCameraMoveListener(new GoogleMap.OnCameraMoveListener() { @Override public void onCameraMove() { CameraPosition cameraPosition = googleMap.getCameraPosition(); if(cameraPosition.zoom > 18.0) { googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); } else { googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); } } }); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.