diff options
author | Łukasz Paczos <lukas.paczos@gmail.com> | 2017-06-07 18:02:28 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2017-06-07 18:02:28 +0200 |
commit | 78eca869ae239b9686a885be6492196f6b0ae48a (patch) | |
tree | c5c1f1e9e124b23a8212a3b813b987baab84b8c9 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java | |
parent | ae837f4db242c074206aeb2c214b4418fcfed0c0 (diff) | |
download | qtlocation-mapboxgl-78eca869ae239b9686a885be6492196f6b0ae48a.tar.gz |
[android] - option to disable camera animation while following position (#9210)
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java index 7dcd84de75..2e12de8dec 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java @@ -29,6 +29,7 @@ public final class TrackingSettings { private final CameraZoomInvalidator zoomInvalidator; private LocationEngine locationSource; private LocationEngineListener myLocationListener; + private boolean locationChangeAnimationEnabled = true; private boolean myLocationEnabled; private boolean dismissLocationTrackingOnGesture = true; @@ -56,6 +57,7 @@ public final class TrackingSettings { outState.putBoolean(MapboxConstants.STATE_MY_LOCATION_TRACKING_DISMISS, isDismissLocationTrackingOnGesture()); outState.putBoolean(MapboxConstants.STATE_MY_BEARING_TRACKING_DISMISS, isDismissBearingTrackingOnGesture()); outState.putBoolean(MapboxConstants.STATE_MY_LOCATION_ENABLED, isMyLocationEnabled()); + outState.putBoolean(MapboxConstants.STATE_LOCATION_CHANGE_ANIMATION_ENABLED, isLocationChangeAnimationEnabled()); } void onRestoreInstanceState(Bundle savedInstanceState) { @@ -74,6 +76,8 @@ public final class TrackingSettings { MapboxConstants.STATE_MY_LOCATION_TRACKING_DISMISS, true)); setDismissBearingTrackingOnGesture(savedInstanceState.getBoolean( MapboxConstants.STATE_MY_BEARING_TRACKING_DISMISS, true)); + setLocationChangeAnimationEnabled(savedInstanceState.getBoolean( + MapboxConstants.STATE_LOCATION_CHANGE_ANIMATION_ENABLED, true)); } /** @@ -91,6 +95,7 @@ public final class TrackingSettings { */ @UiThread public void setMyLocationTrackingMode(@MyLocationTracking.Mode int myLocationTrackingMode) { + myLocationView.setLocationChangeAnimationEnabled(isLocationChangeAnimationEnabled()); myLocationView.setMyLocationTrackingMode(myLocationTrackingMode); if (myLocationTrackingMode == MyLocationTracking.TRACKING_FOLLOW) { @@ -254,6 +259,26 @@ public final class TrackingSettings { } /** + * Returns whether location change animation is applied for {@link MyLocationTracking#TRACKING_FOLLOW}. + * + * @return True if animation is applied, false otherwise. + */ + public boolean isLocationChangeAnimationEnabled() { + return locationChangeAnimationEnabled; + } + + /** + * Set whether location change animation should be applied for {@link MyLocationTracking#TRACKING_FOLLOW}. + * + * @param locationChangeAnimationEnabled True if animation should be applied, false otherwise. + */ + public void setLocationChangeAnimationEnabled(boolean locationChangeAnimationEnabled) { + this.locationChangeAnimationEnabled = locationChangeAnimationEnabled; + + myLocationView.setLocationChangeAnimationEnabled(locationChangeAnimationEnabled); + } + + /** * Reset the tracking modes as necessary. Location tracking is reset if the map center is changed and not from * location, bearing tracking if there is a rotation. * |