diff --git a/vtm/src/org/oscim/layers/MapEventLayer.java b/vtm/src/org/oscim/layers/MapEventLayer.java index 639333c6..64c7ea5f 100644 --- a/vtm/src/org/oscim/layers/MapEventLayer.java +++ b/vtm/src/org/oscim/layers/MapEventLayer.java @@ -124,7 +124,7 @@ public class MapEventLayer extends Layer implements Map.InputListener, GestureLi return true; } - if (!mDown) { + if (!(mDown || mDoubleTap)) { /* no down event received */ return false; } @@ -150,9 +150,9 @@ public class MapEventLayer extends Layer implements Map.InputListener, GestureLi return true; } if (action == MotionEvent.ACTION_CANCEL) { - mDoubleTap = false; - mStartMove = -1; + //mStartMove = -1; mDown = false; + mDoubleTap = false; return true; } if (action == MotionEvent.ACTION_POINTER_DOWN) { @@ -188,6 +188,11 @@ public class MapEventLayer extends Layer implements Map.InputListener, GestureLi /* double-tap + hold */ if (mDoubleTap) { + if (!mDown) { + // TODO check if within tap range + mDown = true; + return true; + } // FIXME limit scale properly mViewport.scaleMap(1 - my / (height / 6), 0, 0); mMap.updateMap(true); @@ -385,7 +390,6 @@ public class MapEventLayer extends Layer implements Map.InputListener, GestureLi public boolean onGesture(Gesture g, MotionEvent e) { if (g == Gesture.DOUBLE_TAP) { mDoubleTap = true; - mDown = true; return true; } return false;