From 8508aea6fba05e4139f17077d6334e33f132144a Mon Sep 17 00:00:00 2001 From: Tobrun Date: Mon, 21 Mar 2016 15:08:06 +0100 Subject: [android] #4327 - OnDoubleTap needs to trigger camera invalidation after a zoom occurs --- .../main/java/com/mapbox/mapboxsdk/maps/MapView.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index e66786ab22..391d8dd629 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -694,6 +694,9 @@ public class MapView extends FrameLayout { } else { mNativeMapView.scaleBy(0.5, x / mScreenDensity, y / mScreenDensity, MapboxConstants.ANIMATION_DURATION); } + + // work around to invalidate camera position + postDelayed(new ZoomInvalidator(mMapboxMap), MapboxConstants.ANIMATION_DURATION); } // @@ -2543,6 +2546,21 @@ public class MapView extends FrameLayout { } } + private static class ZoomInvalidator implements Runnable{ + + private MapboxMap mapboxMap; + + public ZoomInvalidator(MapboxMap mapboxMap) { + this.mapboxMap = mapboxMap; + } + + @Override + public void run() { + // invalidate camera position + mapboxMap.getCameraPosition(); + } + } + /** * Definition of a map change event. * -- cgit v1.2.1