summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2017-03-06 16:05:39 -0800
committerAntonio Zugaldia <antonio@mapbox.com>2017-03-10 09:37:00 -0800
commited16a7d63289e1414ab1a21de1a7d367a0dc8fb3 (patch)
tree2f19286add065e5ebc688981df8b245af7408d48 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
parent2581af3cb69f087b2c64bdf45c7802b5106e1df5 (diff)
downloadqtlocation-mapboxgl-ed16a7d63289e1414ab1a21de1a7d367a0dc8fb3.tar.gz
[android] - zoom to rounded levels
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
index 0f6b146907..2a81ad6752 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
@@ -182,13 +182,17 @@ final class Transform implements MapView.OnMapChangedListener {
// Cancel any animation
cancelTransitions();
- if (zoomIn) {
- mapView.scaleBy(2.0, x, y, MapboxConstants.ANIMATION_DURATION);
- } else {
- mapView.scaleBy(0.5, x, y, MapboxConstants.ANIMATION_DURATION);
+ CameraPosition cameraPosition = invalidateCameraPosition();
+ if (cameraPosition != null) {
+ zoom(cameraPosition, zoomIn, x, y);
}
}
+ private void zoom(@NonNull CameraPosition cameraPosition, boolean zoomIn, float x, float y) {
+ int newZoom = (int) Math.round(cameraPosition.zoom + (zoomIn ? 1 : -1));
+ mapView.setZoom(newZoom, x, y, MapboxConstants.ANIMATION_DURATION);
+ }
+
void setZoom(double zoom) {
mapView.setZoom(zoom);
}