From e115d55ef6b960153ba40aba297b00608f3f3baf Mon Sep 17 00:00:00 2001 From: Tobrun Date: Wed, 8 Mar 2017 15:01:15 -0800 Subject: [PATCH] MyLocationView activate/deactivate LocationSource (#8255) * [android] - activate/deactivate the locationSource when toggling the MyLocationView state. * correct accuracy width --- .../com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java index 2c3685b86..94d4ca2db 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java @@ -257,9 +257,7 @@ public class MyLocationView extends View { final PointF pointF = screenLocation; float metersPerPixel = (float) projection.getMetersPerPixelAtLatitude(location.getLatitude()); - float accuracyPixels = (Float) accuracyAnimator.getAnimatedValue() / metersPerPixel / 2; - float maxRadius = getWidth() / 2; - accuracyPixels = accuracyPixels <= maxRadius ? accuracyPixels : maxRadius; + float accuracyPixels = (Float) accuracyAnimator.getAnimatedValue() / metersPerPixel; // reset matrix.reset(); @@ -435,10 +433,12 @@ public class MyLocationView extends View { } locationEngine.addLocationEngineListener(userLocationListener); + locationEngine.activate(); } else { // Disable location and user dot location = null; locationEngine.removeLocationEngineListener(userLocationListener); + locationEngine.deactivate(); } locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY); @@ -730,7 +730,7 @@ public class MyLocationView extends View { accuracyAnimator.end(); } - accuracyAnimator = ValueAnimator.ofFloat(accuracy * 10, location.getAccuracy() * 10); + accuracyAnimator = ValueAnimator.ofFloat(accuracy, location.getAccuracy()); accuracyAnimator.setDuration(750); accuracyAnimator.start(); accuracy = location.getAccuracy();