diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md index 204d210acac..78fdb9ae125 100644 --- a/platform/android/CHANGELOG.md +++ b/platform/android/CHANGELOG.md @@ -4,7 +4,7 @@ Mapbox welcomes participation and contributions from everyone. If you'd like to ## 5.0.0 - TBA -<<<<<<< HEAD +* MapZoomButtonController zooms to rounded zoom levels [#7630](https://github.com/mapbox/mapbox-gl-native/pull/7630) * Consistent double tap zoom acceleration [#7514](https://github.com/mapbox/mapbox-gl-native/issues/7514) * Cleanup inconsistencies float vs double [#4445](https://github.com/mapbox/mapbox-gl-native/issues/4445) * Add `mapbox_` prefix to attributes [#6482](https://github.com/mapbox/mapbox-gl-native/issues/6482) 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 053aa72fdff..2aa26705e2f 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 @@ -9,7 +9,6 @@ import android.view.MotionEvent; import android.view.ScaleGestureDetector; import android.view.ViewConfiguration; -import android.widget.ZoomButtonsController; import com.almeros.android.multitouch.gesturedetectors.RotateGestureDetector; import com.almeros.android.multitouch.gesturedetectors.ShoveGestureDetector; @@ -595,34 +594,6 @@ public boolean onShove(ShoveGestureDetector detector) { } } - // This class handles input events from the zoom control buttons - // Zoom controls allow single touch only devices to zoom in and out - private static class OnZoomListener implements ZoomButtonsController.OnZoomListener { - - private UiSettings uiSettings; - private Transform transform; - - OnZoomListener(UiSettings uiSettings, Transform transform) { - this.uiSettings = uiSettings; - this.transform = transform; - } - - // Not used - @Override - public void onVisibilityChanged(boolean visible) { - // Ignore - } - - // Called when user pushes a zoom button - @Override - public void onZoom(boolean zoomIn) { - if (!uiSettings.isZoomGesturesEnabled()) { - return; - } - transform.zoom(zoomIn); - } - } - void setOnMapClickListener(MapboxMap.OnMapClickListener onMapClickListener) { this.onMapClickListener = onMapClickListener; } 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 88acc13356e..7007572f8d9 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 @@ -172,7 +172,11 @@ private long getDurationNano(long durationMs) { } void zoom(boolean zoomIn) { - zoom(zoomIn, -1.0f, -1.0f); + CameraPosition currentPosition = invalidateCameraPosition(); + if (currentPosition != null) { + int newZoom = (int) Math.round(currentPosition.zoom + (zoomIn ? 1 : -1)); + mapView.setZoom(newZoom, MapboxConstants.ANIMATION_DURATION); + } } void zoom(boolean zoomIn, float x, float y) {