diff options
author | Jason Wray <jason@mapbox.com> | 2017-08-07 14:33:39 -0400 |
---|---|---|
committer | Jason Wray <jason@mapbox.com> | 2017-08-07 15:00:09 -0400 |
commit | 1394bfb554c5daa5d2384d960c9118e880a30480 (patch) | |
tree | fb9e71fe0378c5e1699646109b319343111bd97c /platform/ios/src/MGLFaux3DUserLocationAnnotationView.m | |
parent | 01d801c8c73b77c75a28f4fa8148780d58fe464d (diff) | |
download | qtlocation-mapboxgl-1394bfb554c5daa5d2384d960c9118e880a30480.tar.gz |
[ios] Fix user location horizontal accuracy ring inaccuracyupstream/fb-inaccurate-accuracy
Accuracy was off by +25%, depending on latitude.
Diffstat (limited to 'platform/ios/src/MGLFaux3DUserLocationAnnotationView.m')
-rw-r--r-- | platform/ios/src/MGLFaux3DUserLocationAnnotationView.m | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m b/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m index 6db9c0db10..5f67f24f4e 100644 --- a/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m +++ b/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m @@ -460,11 +460,8 @@ const CGFloat MGLUserLocationAnnotationArrowSize = MGLUserLocationAnnotationPuck - (CGFloat)calculateAccuracyRingSize { - CGFloat latitudeRadians = MGLRadiansFromDegrees(self.userLocation.coordinate.latitude); - CGFloat metersPerPoint = [self.mapView metersPerPointAtLatitude:self.userLocation.coordinate.latitude]; - CGFloat pixelRadius = self.userLocation.location.horizontalAccuracy / cos(latitudeRadians) / metersPerPoint; - - return pixelRadius * 2.0; + // diameter in screen points + return self.userLocation.location.horizontalAccuracy / [self.mapView metersPerPointAtLatitude:self.userLocation.coordinate.latitude] * 2.0; } - (UIImage *)headingIndicatorTintedGradientImage |