Two finger tap zoom out gesture, fix #423

This commit is contained in:
Emux 2017-10-04 15:43:01 +03:00
parent 1d7ece5a65
commit a06ea5492e
2 changed files with 14 additions and 2 deletions

View File

@ -5,7 +5,7 @@
- Mapsforge themes compatibility [#100](https://github.com/mapsforge/vtm/issues/100) - Mapsforge themes compatibility [#100](https://github.com/mapsforge/vtm/issues/100)
- Render themes: line symbol [#124](https://github.com/mapsforge/vtm/issues/124) - Render themes: line symbol [#124](https://github.com/mapsforge/vtm/issues/124)
- Render themes: stroke dash array [#131](https://github.com/mapsforge/vtm/issues/131) - Render themes: stroke dash array [#131](https://github.com/mapsforge/vtm/issues/131)
- Polygon symbol positioning [#405](https://github.com/mapsforge/vtm/issues/405) - Two finger tap zoom out gesture [#423](https://github.com/mapsforge/vtm/issues/423)
- POI Search example [#394](https://github.com/mapsforge/vtm/issues/394) - POI Search example [#394](https://github.com/mapsforge/vtm/issues/394)
- Mapsforge Reverse Geocoding [#383](https://github.com/mapsforge/vtm/issues/383) - Mapsforge Reverse Geocoding [#383](https://github.com/mapsforge/vtm/issues/383)
- Core utilities [#396](https://github.com/mapsforge/vtm/issues/396) - Core utilities [#396](https://github.com/mapsforge/vtm/issues/396)
@ -14,6 +14,7 @@
- Mapsforge fix artifacts zoom >17 [#231](https://github.com/mapsforge/vtm/issues/231) - Mapsforge fix artifacts zoom >17 [#231](https://github.com/mapsforge/vtm/issues/231)
- Mapzen building extrusions [#419](https://github.com/mapsforge/vtm/issues/419) - Mapzen building extrusions [#419](https://github.com/mapsforge/vtm/issues/419)
- BuildingLayer expects height tags in meters - BuildingLayer expects height tags in meters
- Polygon symbol positioning [#405](https://github.com/mapsforge/vtm/issues/405)
- PolyLabel default disabled [#402](https://github.com/mapsforge/vtm/issues/402) - PolyLabel default disabled [#402](https://github.com/mapsforge/vtm/issues/402)
- vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387) - vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387)
- Feature parameters [#403](https://github.com/mapsforge/vtm/issues/403) - Feature parameters [#403](https://github.com/mapsforge/vtm/issues/403)

View File

@ -1,6 +1,6 @@
/* /*
* Copyright 2013 Hannes Janetzek * Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86 * Copyright 2016-2017 devemux86
* Copyright 2016 Andrey Novikov * Copyright 2016 Andrey Novikov
* Copyright 2016 Longri * Copyright 2016 Longri
* *
@ -59,6 +59,7 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
private boolean mDown; private boolean mDown;
private boolean mDoubleTap; private boolean mDoubleTap;
private boolean mDragZoom; private boolean mDragZoom;
private boolean mTwoFingersDone;
private float mPrevX1; private float mPrevX1;
private float mPrevY1; private float mPrevY1;
@ -157,6 +158,7 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
mStartMove = -1; mStartMove = -1;
mDoubleTap = false; mDoubleTap = false;
mDragZoom = false; mDragZoom = false;
mTwoFingersDone = false;
mPrevX1 = e.getX(0); mPrevX1 = e.getX(0);
mPrevY1 = e.getY(0); mPrevY1 = e.getY(0);
@ -211,6 +213,11 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
return true; return true;
} }
if (action == MotionEvent.ACTION_POINTER_UP) { if (action == MotionEvent.ACTION_POINTER_UP) {
if (e.getPointerCount() == 2 && !mTwoFingersDone) {
if (!mMap.handleGesture(Gesture.TWO_FINGER_TAP, e)) {
mMap.animator().animateZoom(300, 0.5, 0f, 0f);
}
}
updateMulti(e); updateMulti(e);
return true; return true;
} }
@ -306,6 +313,7 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
mCanScale = false; mCanScale = false;
mCanRotate = false; mCanRotate = false;
mDoTilt = true; mDoTilt = true;
mTwoFingersDone = true;
} }
} }
} }
@ -332,6 +340,7 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
/* start rotate, disable tilt */ /* start rotate, disable tilt */
mDoRotate = true; mDoRotate = true;
mCanTilt = false; mCanTilt = false;
mTwoFingersDone = true;
mAngle = rad; mAngle = rad;
} else if (!mDoScale) { } else if (!mDoScale) {
@ -351,6 +360,7 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
mDoRotate = true; mDoRotate = true;
mCanRotate = true; mCanRotate = true;
mAngle = rad; mAngle = rad;
mTwoFingersDone = true;
} }
} }
@ -366,6 +376,7 @@ public class MapEventLayer extends AbstractMapEventLayer implements InputListene
mCanTilt = false; mCanTilt = false;
mDoScale = true; mDoScale = true;
mTwoFingersDone = true;
} }
} }
if (mDoScale || mDoRotate) { if (mDoScale || mDoRotate) {