diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2015-12-23 12:11:30 +0100 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2015-12-23 16:32:09 +0100 |
commit | 11a8978eed54376bcb3b30afa636484959cbff14 (patch) | |
tree | 1d59e305e2ceb6ef47ce504e41d60c1ba8813888 /platform | |
parent | 2e69d95c6bc68d01c9db8cd8c4af9d689191eda9 (diff) | |
download | qtlocation-mapboxgl-11a8978eed54376bcb3b30afa636484959cbff14.tar.gz |
[android] #3283 - fix setCenterCoordinate animation
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java | 14 |
1 files 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 385eec4c29..56e04c1557 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()); + } } |