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()); + } }