summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
diff options
context:
space:
mode:
authorFredrik Karlsson <bjorn.fredrik.karlsson@gmail.com>2016-11-17 13:25:14 +0100
committerFredrik Karlsson <bjorn.fredrik.karlsson@gmail.com>2016-11-18 09:21:38 +0100
commitd959fe1522d3a96d85fd03f5a5deee318c733b75 (patch)
treeb38289800ec96f59bc424c46b541ad2c5d7de6ea /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
parent97288cae96dd88c48b7e7f13ffe6fcf6bae5942d (diff)
downloadqtlocation-mapboxgl-d959fe1522d3a96d85fd03f5a5deee318c733b75.tar.gz
[android] fixed horizontal panning going the opposite direction
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java17
1 files changed, 7 insertions, 10 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index e5848f5090..a9f2ed23fc 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -1651,20 +1651,17 @@ public class MapView extends FrameLayout {
resetTrackingModesIfRequired(true, false);
- // Fling the map
- float ease = 0.25f;
-
- velocityX = velocityX * ease;
- velocityY = velocityY * ease;
-
- double speed = Math.sqrt(velocityX * velocityX + velocityY * velocityY);
- double deceleration = 2500;
- double duration = speed / (deceleration * ease);
+ double decelerationRate = 1;
// Cancel any animation
cancelTransitions();
- nativeMapView.moveBy(velocityX * duration / 2.0 / screenDensity, velocityY * duration / 2.0 / screenDensity, (long) (duration * 1000.0f));
+ double offsetX = velocityX * decelerationRate / 4 / screenDensity;
+ double offsetY = velocityY * decelerationRate / 4 / screenDensity;
+
+ nativeMapView.setGestureInProgress(true);
+ nativeMapView.moveBy(offsetX, offsetY, (long) (decelerationRate * 1000.0f));
+ nativeMapView.setGestureInProgress(false);
MapboxMap.OnFlingListener listener = mapboxMap.getOnFlingListener();
if (listener != null) {