diff options
Diffstat (limited to 'android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java')
-rw-r--r-- | android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java index f08c87d0fa..3755a86dd5 100644 --- a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java +++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java @@ -3294,6 +3294,12 @@ public final class MapView extends FrameLayout { @UiThread public void setMyLocationTrackingMode(@MyLocationTracking.Mode int myLocationTrackingMode) { mUserLocationView.setMyLocationTrackingMode(myLocationTrackingMode); + validateGesturesForTrackingModes(); + } + + private void validateGesturesForTrackingModes() { + int myLocationTrackingMode = mUserLocationView.getMyLocationTrackingMode(); + int myBearingTrackingMode = mUserLocationView.getMyBearingTrackingMode(); // Enable/disable gestures based on tracking mode if (myLocationTrackingMode == MyLocationTracking.TRACKING_NONE) { @@ -3301,10 +3307,11 @@ public final class MapView extends FrameLayout { mRotateEnabled = true; } else { mScrollEnabled = false; - mRotateEnabled = (myLocationTrackingMode == MyLocationTracking.TRACKING_FOLLOW); + mRotateEnabled = (myBearingTrackingMode == MyBearingTracking.NONE); } } + /** * Returns the current user location tracking mode. * @@ -3320,7 +3327,12 @@ public final class MapView extends FrameLayout { /** * Set the current my bearing tracking mode. - * Tracking my bearing disables gestures and shows the direction the user is heading. + * <p/> + * Tracking the users bearing will disable gestures and shows the direction the user is heading. + * <p/> + * When location tracking is disabled the direction of {@link UserLocationView} is rotated + * When location tracking is enabled the {@link MapView} is rotated based on bearing value. + * <p/> * See {@link MyBearingTracking} for different values. * * @param myBearingTrackingMode The bearing tracking mode to be used. @@ -3329,6 +3341,7 @@ public final class MapView extends FrameLayout { @UiThread public void setMyBearingTrackingMode(@MyBearingTracking.Mode int myBearingTrackingMode) { mUserLocationView.setMyBearingTrackingMode(myBearingTrackingMode); + validateGesturesForTrackingModes(); } /** |