diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-04-11 13:30:03 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-04-13 10:28:44 -0700 |
commit | f1c06f8d837b57c1b10677fb5317f0bf20987cf6 (patch) | |
tree | fe64a8ca383b76318f0ee10c778460f5a879b3ad /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox | |
parent | a2670336d4387782bb607092f3a06814bdf4eb8d (diff) | |
download | qtlocation-mapboxgl-f1c06f8d837b57c1b10677fb5317f0bf20987cf6.tar.gz |
[all] Remove redundant scale-related camera methods
We don't need to have two different measurement systems for map zoom.
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox')
4 files changed, 7 insertions, 62 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 67e55352f4..85f6dc7e0e 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 @@ -230,7 +230,7 @@ final class MapGestureDetector { float scrollDist = event.getAxisValue(MotionEvent.AXIS_VSCROLL); // Scale the map by the appropriate power of two factor - transform.zoomBy(Math.pow(2.0, scrollDist), event.getX(), event.getY()); + transform.zoomBy(scrollDist, event.getX(), event.getY()); return true; @@ -479,17 +479,17 @@ final class MapGestureDetector { // Scale the map if (focalPoint != null) { // arround user provided focal point - transform.zoomBy(detector.getScaleFactor(), focalPoint.x, focalPoint.y); + transform.zoomBy(Math.log(detector.getScaleFactor()) / Math.log(2), focalPoint.x, focalPoint.y); } else if (quickZoom) { // clamp scale factors we feed to core #7514 float scaleFactor = MathUtils.clamp(detector.getScaleFactor(), MapboxConstants.MINIMUM_SCALE_FACTOR_CLAMP, MapboxConstants.MAXIMUM_SCALE_FACTOR_CLAMP); // around center map - transform.zoomBy(scaleFactor, uiSettings.getWidth() / 2, uiSettings.getHeight() / 2); + transform.zoomBy(Math.log(scaleFactor) / Math.log(2), uiSettings.getWidth() / 2, uiSettings.getHeight() / 2); } else { // around gesture - transform.zoomBy(detector.getScaleFactor(), detector.getFocusX(), detector.getFocusY()); + transform.zoomBy(Math.log(detector.getScaleFactor()) / Math.log(2), detector.getFocusX(), detector.getFocusY()); } return true; diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index a9dedcf7dc..6fd86eba45 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -338,55 +338,6 @@ final class NativeMapView { nativeSetPitch(pitch, duration); } - public void scaleBy(double ds) { - if (isDestroyedOn("scaleBy")) { - return; - } - scaleBy(ds, Double.NaN, Double.NaN); - } - - public void scaleBy(double ds, double cx, double cy) { - if (isDestroyedOn("scaleBy")) { - return; - } - scaleBy(ds, cx, cy, 0); - } - - public void scaleBy(double ds, double cx, double cy, long duration) { - if (isDestroyedOn("scaleBy")) { - return; - } - nativeScaleBy(ds, cx / pixelRatio, cy / pixelRatio, duration); - } - - public void setScale(double scale) { - if (isDestroyedOn("setScale")) { - return; - } - setScale(scale, Double.NaN, Double.NaN); - } - - public void setScale(double scale, double cx, double cy) { - if (isDestroyedOn("setScale")) { - return; - } - setScale(scale, cx, cy, 0); - } - - public void setScale(double scale, double cx, double cy, long duration) { - if (isDestroyedOn("setScale")) { - return; - } - nativeSetScale(scale, cx / pixelRatio, cy / pixelRatio, duration); - } - - public double getScale() { - if (isDestroyedOn("getScale")) { - return 0; - } - return nativeGetScale(); - } - public void setZoom(double zoom, PointF focalPoint, long duration) { if (isDestroyedOn("setZoom")) { return; @@ -1025,12 +976,6 @@ final class NativeMapView { private native void nativeSetPitch(double pitch, long duration); - private native void nativeScaleBy(double ds, double cx, double cy, long duration); - - private native void nativeSetScale(double scale, double cx, double cy, long duration); - - private native double nativeGetScale(); - private native void nativeSetZoom(double zoom, double cx, double cy, long duration); private native double nativeGetZoom(); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java index 82d5dec6a0..ff466c436c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java @@ -125,6 +125,6 @@ public class Projection { * @return zoom level that fits the MapView. */ public double calculateZoom(float minScale) { - return Math.log(nativeMapView.getScale() * minScale) / Math.log(2); + return nativeMapView.getZoom() + Math.log(minScale) / Math.log(2); } } 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 78a38c73b9..6bccf6204b 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 @@ -273,8 +273,8 @@ final class Transform implements MapView.OnMapChangedListener { } } - void zoomBy(double pow, float x, float y) { - mapView.scaleBy(pow, x, y); + void zoomBy(double z, float x, float y) { + mapView.setZoom(mapView.getZoom() + z, new PointF(x, y), 0); } void moveBy(double offsetX, double offsetY, long duration) { |