summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
diff options
context:
space:
mode:
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.java19
1 files changed, 11 insertions, 8 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 11dee078ac..af6d601353 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
@@ -5,6 +5,7 @@ import android.graphics.PointF;
import android.support.annotation.NonNull;
import android.support.v4.view.GestureDetectorCompat;
import android.support.v4.view.ScaleGestureDetectorCompat;
+import android.util.Log;
import android.view.InputDevice;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
@@ -18,6 +19,8 @@ import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.telemetry.MapboxEvent;
import com.mapbox.mapboxsdk.utils.MathUtils;
+import timber.log.Timber;
+
/**
* Manages gestures events on a MapView.
* <p>
@@ -304,13 +307,6 @@ final class MapGestureDetector {
float screenDensity = uiSettings.getPixelRatio();
- // calculate velocity vector for xy dimensions, independent from screen size
- double velocityXY = Math.hypot(velocityX / screenDensity, velocityY / screenDensity);
- if (velocityXY < MapboxConstants.VELOCITY_THRESHOLD_IGNORE_FLING) {
- // ignore short flings, these can occur when other gestures just have finished executing
- return false;
- }
-
trackingSettings.resetTrackingModesIfRequired(true, false);
// cancel any animation
@@ -322,8 +318,15 @@ final class MapGestureDetector {
double offsetX = velocityX / tiltFactor / screenDensity;
double offsetY = velocityY / tiltFactor / screenDensity;
+ // calculate velocity vector for xy dimensions
+ double velocityXY = Math.hypot(offsetX, offsetY);
+ if (velocityXY < MapboxConstants.VELOCITY_THRESHOLD_IGNORE_FLING) {
+ // ignore short flings, these can occur when other gestures just have finished executing
+ return false;
+ }
+
// calculate animation time based on displacement
- long animationTime = (long) (velocityXY / 7 / tiltFactor + MapboxConstants.ANIMATION_DURATION_FLING_BASE);
+ long animationTime = (long) (velocityXY/ 10 / tiltFactor + MapboxConstants.ANIMATION_DURATION_FLING_BASE);
// update transformation
transform.setGestureInProgress(true);