M0286_Libro Curso
Android
Una vez insertada, el navegador nos devuelve la respuesta del servidor mediante un pop up con las coordenadas:
Figura 3.13. Respuesta javascript con las coordenadas del mapa.
Una vez tenemos las coordenadas, las insertaremos en el método animateTo() de la clase MapController : @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout. main ); mapView = (MapView) findViewById(R.id. mapView ); mapView.setBuiltInZoomControls(true); mc = mapView.getController(); String coordinates[] = {“41.67109”,”-0.87867”}; 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); mapView.invalidate();
} Lo primero, hemos obtenido un controlador de la instancia de MapView y se lo hemos asignado a un objeto MapController (mc). Utilizamos un objeto GeoPoint para representar un lugar determinado. Debemos tener en cuenta que para esta clase la latitud y la longitud de una ubicación están representadas en grados micro. Esto significa que se almacenan como valores enteros. Por lo tanto, deberemos multiplicarlos por 1E6. El método setZoom() nos permite especificar el nivel de zoom en el que se mostrará el mapa.
166
Made with FlippingBook - Online catalogs