diff options
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.java | 28 |
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) { |