diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2017-01-03 20:27:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-03 20:27:44 +0100 |
commit | 654061c7d1596a3de0a40233c08ccea007ffc2e5 (patch) | |
tree | 5e58478d30b4f927b565caf3a45bba5a23ad616d /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java | |
parent | 5ac72ce8bf382ec4259e357770a252192560c7df (diff) | |
download | qtlocation-mapboxgl-654061c7d1596a3de0a40233c08ccea007ffc2e5.tar.gz |
[android] - limit the scale factor for double tap zoom (#7580)
* [android] - limit the scale factor to avoid accelerating the double tap zoom gesture
* clamp values
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java index 93422b1837..053aa72fdf 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java @@ -16,6 +16,7 @@ import com.almeros.android.multitouch.gesturedetectors.ShoveGestureDetector; import com.almeros.android.multitouch.gesturedetectors.TwoFingerGestureDetector; import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.telemetry.MapboxEvent; +import com.mapbox.mapboxsdk.utils.MathUtils; /** * Manages gestures events on a MapView. @@ -427,8 +428,12 @@ final class MapGestureDetector { // arround user provided focal point transform.zoomBy(detector.getScaleFactor(), focalPoint.x, focalPoint.y); } else if (quickZoom) { + // clamp scale factors we feed to core #7514 + float scaleFactor = MathUtils.clamp(detector.getScaleFactor(), + MapboxConstants.MINIMUM_SCALE_FACTOR_CLAMP, + MapboxConstants.MAXIMUM_SCALE_FACTOR_CLAMP); // around center map - transform.zoomBy(detector.getScaleFactor(), uiSettings.getWidth() / 2, uiSettings.getHeight() / 2); + transform.zoomBy(scaleFactor, uiSettings.getWidth() / 2, uiSettings.getHeight() / 2); } else { // around gesture transform.zoomBy(detector.getScaleFactor(), detector.getFocusX(), detector.getFocusY()); |