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


Android (MapView): ¿Cómo establecer el nivel de zoom de 4 millas en el mapa?

Tengo una latitud y longitud (GeoPoint) que es el centro del mapa. Quiero establecer el nivel de zoom de 4 millas de distancia de latitud y longitud que tengo.

Gracias por adelantado,

3 Solutions collect form web for “Android (MapView): ¿Cómo establecer el nivel de zoom de 4 millas en el mapa?”

Puede utilizar la función setzoom () para hacerlo. El código de abajo se puede encontrar en este ejemplo .

mc = mapView.getController(); String coordinates[] = {"1.352566007", "103.78921587"}; double lat = Double.parseDouble(coordinates[0]); double lng = Double.parseDouble(coordinates[1]); p = new GeoPoint( (int) (lat * 1E6), (int) (lng * 1E6)); mc.animateTo(p); mc.setZoom(17); 

Resuelto

Desde Androd google API: zoomlevel establece el nivel de zoom del mapa. El valor se fijará entre 1 y 21 inclusive, aunque no todas las áreas tienen azulejos en niveles de zoom más altos. Esto sólo establece el nivel del zoom directamente; Parámetros: zoomLevel – En zoomLevel 1, el ecuador de la tierra tiene 256 píxeles de largo. Cada nivel de zoom sucesivo se agranda por un factor de 2. Devuelve: el nuevo nivel de zoom, entre 1 y 21 inclusive.

Así que dado el Ecuador E = 40075 Km o 21.638,8 millas dado la distancia al zoom D = 20 km o millas

El nivel de zoom: L = log2 (E / D) +1

Este es el método sencillo que he usado recuerda establecer E = 21.638,8 si quieres usar las millas …

 public static byte zoomLevel (double distance){ byte zoom=1; double E = 40075; Log.i("Astrology", "result: "+ (Math.log(E/distance)/Math.log(2)+1)); zoom = (byte) Math.round(Math.log(E/distance)/Math.log(2)+1); // to avoid exeptions if (zoom>21) zoom=21; if (zoom<1) zoom =1; return zoom; } 

Juega con el .setZoom(int); De su mapa. Creo que es alrededor de 15:

Así myMap.setZoom(15);

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.