From 932012e931930896ef492b3b920ec1288ef5625c Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Wed, 3 Feb 2016 17:59:44 -0600 Subject: [PATCH] [android][core] #509 - Setting Min and Max Zooms warning annotations in Android. Clamping Min and Max zooms at Core GL for all platforms to use at runtime. --- .../mapboxsdk/constants/MapboxConstants.java | 4 ++-- src/mbgl/map/transform_state.cpp | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java index e9b654b62..33ebfca2f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java @@ -25,12 +25,12 @@ public class MapboxConstants { /** * The currently supported minimum zoom level. */ - public static final double MINIMUM_ZOOM = 0f; + public static final double MINIMUM_ZOOM = 0.0; /** * The currently supported maximum zoom level. */ - public static final double MAXIMUM_ZOOM = 25.0; + public static final double MAXIMUM_ZOOM = 25.5; /** * The currently supported maximum tilt value. diff --git a/src/mbgl/map/transform_state.cpp b/src/mbgl/map/transform_state.cpp index 92a35f7fa..41f71197c 100644 --- a/src/mbgl/map/transform_state.cpp +++ b/src/mbgl/map/transform_state.cpp @@ -161,7 +161,14 @@ double TransformState::getScale() const { } void TransformState::setMinZoom(const double minZoom) { - min_scale = zoomScale(minZoom); + double zoom = minZoom; + if (minZoom > 25.5) { + zoom = 25.5; + } + if (minZoom < 0) { + zoom = 0.0; + } + min_scale = zoomScale(zoom); } double TransformState::getMinZoom() const { @@ -174,7 +181,14 @@ double TransformState::getMinZoom() const { } void TransformState::setMaxZoom(const double maxZoom) { - max_scale = zoomScale(maxZoom); + double zoom = maxZoom; + if (maxZoom > 25.5) { + zoom = 25.5; + } + if (maxZoom < 0) { + zoom = 0.0; + } + max_scale = zoomScale(zoom); } double TransformState::getMaxZoom() const {