From 11a8978eed54376bcb3b30afa636484959cbff14 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Wed, 23 Dec 2015 12:11:30 +0100 Subject: [PATCH] [android] #3283 - fix setCenterCoordinate animation --- .../java/com/mapbox/mapboxsdk/views/MapView.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java index 385eec4c2..56e04c155 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java @@ -67,6 +67,7 @@ import com.mapbox.mapboxsdk.annotations.PolylineOptions; import com.mapbox.mapboxsdk.annotations.IconFactory; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdate; +import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.constants.MathConstants; import com.mapbox.mapboxsdk.constants.MyBearingTracking; import com.mapbox.mapboxsdk.constants.MyLocationTracking; @@ -1084,9 +1085,16 @@ public final class MapView extends FrameLayout { Log.w(TAG, "centerCoordinate was null, so just returning"); return; } - long duration = animated ? ANIMATION_DURATION : 0; - mNativeMapView.cancelTransitions(); - mNativeMapView.setLatLng(centerCoordinate, duration); + + if (animated) { + CameraPosition cameraPosition = new CameraPosition.Builder(getCameraPosition()) + .target(centerCoordinate) + .build(); + animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition), + (int) ANIMATION_DURATION, null); + } else { + jumpTo(mNativeMapView.getBearing(), centerCoordinate, mNativeMapView.getPitch(), mNativeMapView.getZoom()); + } }