[android] #3283 - fix setCenterCoordinate animation

This commit is contained in:
Tobrun
2015-12-23 12:11:30 +01:00
parent 2e69d95c6b
commit 11a8978eed

View File

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