Я бы предпочел переопределить метод onTap.
class MapOverlay extends Overlay
{
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
//DO YOUR STUFF
return super.onTap(p, mapView);
}
}
В событии onTouch вы должны самостоятельно определить вкладку , ожидая MotionEvent.ACTION_DOWN
и MotionEvent.ACTION_UP
.
И вы должны отфильтровать MotionEvent.ACTION_MOVE
, чтобы не выполнять свои действия, пока пользователь просто перемещает карту.
Фильтрация события перемещения может привести к проблемам при разработке и для более старых версий Android. Во время тестирования событие перемещения будет добавлено в мой телефон Android 2.3.3, даже если я не переместил карту. Поэтому я не мог различить обычный щелчок ( вниз и вверх ) и движение ( вниз, движение и вверх )