[android] - only invoke callback if fling scrolling animation isn't going to be ignored. (#9192)
This commit is contained in:
@@ -346,7 +346,6 @@ final class MapGestureDetector {
|
||||
// and ignore when a scale gesture has occurred
|
||||
return false;
|
||||
}
|
||||
cameraChangeDispatcher.onCameraMoveStarted(REASON_API_GESTURE);
|
||||
|
||||
float screenDensity = uiSettings.getPixelRatio();
|
||||
|
||||
@@ -362,6 +361,8 @@ final class MapGestureDetector {
|
||||
// cancel any animation
|
||||
transform.cancelTransitions();
|
||||
|
||||
cameraChangeDispatcher.onCameraMoveStarted(REASON_API_GESTURE);
|
||||
|
||||
// tilt results in a bigger translation, limiting input for #5281
|
||||
double tilt = transform.getTilt();
|
||||
double tiltFactor = 1 + ((tilt != 0) ? (tilt / 10) : 0); /* 1 -> 7 */
|
||||
|
||||
@@ -79,7 +79,7 @@ final class Transform implements MapView.OnMapChangedListener {
|
||||
|
||||
@Override
|
||||
public void onMapChanged(@MapView.MapChange int change) {
|
||||
if (change == REGION_DID_CHANGE_ANIMATED && cameraCancelableCallback != null) {
|
||||
if (change == REGION_DID_CHANGE_ANIMATED) {
|
||||
updateCameraPosition(invalidateCameraPosition());
|
||||
if (cameraCancelableCallback != null) {
|
||||
cameraCancelableCallback.onFinish();
|
||||
@@ -116,8 +116,8 @@ final class Transform implements MapView.OnMapChangedListener {
|
||||
|
||||
if (callback != null) {
|
||||
cameraCancelableCallback = callback;
|
||||
mapView.addOnMapChangedListener(this);
|
||||
}
|
||||
mapView.addOnMapChangedListener(this);
|
||||
mapView.easeTo(cameraPosition.bearing, cameraPosition.target, durationMs, cameraPosition.tilt,
|
||||
cameraPosition.zoom, easingInterpolator);
|
||||
}
|
||||
@@ -134,9 +134,8 @@ final class Transform implements MapView.OnMapChangedListener {
|
||||
|
||||
if (callback != null) {
|
||||
cameraCancelableCallback = callback;
|
||||
mapView.addOnMapChangedListener(this);
|
||||
}
|
||||
|
||||
mapView.addOnMapChangedListener(this);
|
||||
mapView.flyTo(cameraPosition.bearing, cameraPosition.target, durationMs, cameraPosition.tilt,
|
||||
cameraPosition.zoom);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user