Tengo un MapView en una actividad y funciona bien, el mapa muestra, y responde a grifos, y puedo extraer la ubicación fácilmente. Sin embargo, este controlador también está respondiendo al zoom de pellizco, por lo que si un usuario intenta pellizcar-acercar, la aplicación responde como si hubieran tocado (y es muy confuso para ellos).¿Cómo respondo a un toque en una Vista de mapa de Android, pero ignoro el zoom de pellizco?
¿Cómo puedo responder a los toques en un MapView y solo elegir un solo toque, ignorando específicamente el pellizco-zoom y el doble de los toques?
¿Debo utilizar OnTouchEvent() en lugar de OnTap()? En caso afirmativo, ¿cómo distingo entre los diferentes eventos táctiles y cómo accedo al GeoPoint?
Aquí está el código desde el interior de mi MapActivity:
class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean onTap(GeoPoint p, MapView map)
{
if (p!=null)
{
// Do stuff with the geopoint
return true; // We handled the tap
}
else
{
return false; // We didn't handle the tap
}
}
}
Es posible que pueda seguir usando ONTAP, que está diseñado sólo para responder cuando los elementos de superposición están intervenidos (en oposición a cualquier punto del mapa), y todavía establecen un oyente toque en la MapView hacer caso omiso de pellizco, como esto: http://stackoverflow.com/questions/4626028/how-to-disable-pinch-in-android-mapview –
Curiosamente, arrastrar el mapa está bien. entonces Drag no dispara en Toque() pero toca (como se esperaba) pero también pellizca y acerca. No es lo que hubiera esperado. –
No quiero deshabilitar el pellizco y el zoom, quiero que funcione, solo quiero que mi aplicación también recoja el onTap. –