diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java | 18 |
1 files changed, 18 insertions, 0 deletions
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. * |