M0286_Libro Curso
Android
public boolean onKeyDown(int keyCode, KeyEvent event) { MapController mc = mapView.getController(); switch (keyCode) { case KeyEvent. KEYCODE_1 : mc.zoomOut(); break; case KeyEvent. KEYCODE_3 : mc.zoomIn(); break; case KeyEvent. KEYCODE_5 : mapView.setStreetView(true); break; case KeyEvent. KEYCODE_6 : mapView.setStreetView(false); break; case KeyEvent. KEYCODE_7 : mapView.setSatellite(true); break; case KeyEvent. KEYCODE_8 : mapView.setSatellite(false); break; } return super.onKeyDown(keyCode, event); } @Override protected boolean isRouteDisplayed() { return false; } } Ahora vamos a hacer que nos devuelva una posición (latitud y longitud) cuando pulsemos sobre el mapa. Como hemos añadido una superposición en el mapa, puede sobrescribir el método onTouchEvent() de la clase Overlay . Este se activará cada vez que toquemos el mapa. Este método tiene dos parámetros, MotionEvent y MapView . Usando el parámetro MotionEvent , se puede saber si el usuario ha levantado el dedo de la pantalla utilizando el método getAction() . Con el siguiente código, sabremos si el usuario ha tocado y luego ha levantado el dedo, y se mostrará la latitud y la longitud de la ubicación tocada: import android.view.MotionEvent; import android.widget.Toast; class MapOverlay extends com.google.android.maps.Overlay
172
Made with FlippingBook - Online catalogs