summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java28
1 files changed, 27 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
index c671146876..49abb70c91 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
@@ -8,6 +8,7 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.ColorInt;
+import android.support.annotation.FloatRange;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.Px;
@@ -68,6 +69,8 @@ public final class UiSettings {
private boolean increaseRotateThresholdWhenScaling = true;
private boolean increaseScaleThresholdWhenRotating = true;
+ private float zoomRate = 1.0f;
+
private boolean deselectMarkersOnTap = true;
@Nullable
@@ -131,6 +134,7 @@ public final class UiSettings {
outState.putBoolean(MapboxConstants.STATE_INCREASE_ROTATE_THRESHOLD, isIncreaseRotateThresholdWhenScaling());
outState.putBoolean(MapboxConstants.STATE_INCREASE_SCALE_THRESHOLD, isIncreaseScaleThresholdWhenRotating());
outState.putBoolean(MapboxConstants.STATE_QUICK_ZOOM_ENABLED, isQuickZoomGesturesEnabled());
+ outState.putFloat(MapboxConstants.STATE_ZOOM_RATE, getZoomRate());
}
private void restoreGestures(Bundle savedInstanceState) {
@@ -147,6 +151,7 @@ public final class UiSettings {
setIncreaseScaleThresholdWhenRotating(
savedInstanceState.getBoolean(MapboxConstants.STATE_INCREASE_SCALE_THRESHOLD));
setQuickZoomGesturesEnabled(savedInstanceState.getBoolean(MapboxConstants.STATE_QUICK_ZOOM_ENABLED));
+ setZoomRate(savedInstanceState.getFloat(MapboxConstants.STATE_ZOOM_RATE, 1.0f));
}
private void initialiseCompass(MapboxMapOptions options, @NonNull Resources resources) {
@@ -771,6 +776,27 @@ public final class UiSettings {
this.quickZoomGesturesEnabled = quickZoomGesturesEnabled;
}
+ /**
+ * Returns zoom gesture rate, including pinch to zoom and quick scale.
+ *
+ * @return The zoom rate.
+ */
+ public float getZoomRate() {
+ return zoomRate;
+ }
+
+ /**
+ * Sets zoom gesture rate, including pinch to zoom and quick scale.
+ * <p>
+ * Default value is 1.0f.
+ * </p>
+ *
+ * @param zoomRate The zoom rate.
+ */
+ public void setZoomRate(@FloatRange(from = 0f) float zoomRate) {
+ this.zoomRate = zoomRate;
+ }
+
private void restoreDeselectMarkersOnTap(Bundle savedInstanceState) {
setDeselectMarkersOnTap(savedInstanceState.getBoolean(MapboxConstants.STATE_DESELECT_MARKER_ON_TAP));
}
@@ -961,7 +987,7 @@ public final class UiSettings {
*/
public boolean areAllGesturesEnabled() {
return rotateGesturesEnabled && tiltGesturesEnabled && zoomGesturesEnabled
- && scrollGesturesEnabled && doubleTapGesturesEnabled && quickZoomGesturesEnabled;
+ && scrollGesturesEnabled && doubleTapGesturesEnabled && quickZoomGesturesEnabled;
}
private void saveFocalPoint(Bundle outState) {