summaryrefslogtreecommitdiff
path: root/platform/ios/src/MGLMapView.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/src/MGLMapView.mm')
-rw-r--r--platform/ios/src/MGLMapView.mm17
1 files changed, 13 insertions, 4 deletions
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm
index 60ba726e4f..b0c213ebfb 100644
--- a/platform/ios/src/MGLMapView.mm
+++ b/platform/ios/src/MGLMapView.mm
@@ -586,9 +586,18 @@ mbgl::Duration MGLDurationInSeconds(NSTimeInterval duration)
UIGraphicsBeginImageContextWithOptions(scaleImage.size, NO, [UIScreen mainScreen].scale);
[scaleImage drawInRect:{ CGPointZero, scaleImage.size }];
- CGFloat weight = &UIFontWeightUltraLight ? UIFontWeightUltraLight : -0.8;
+ CGFloat northSize = 9;
+ UIFont *northFont;
+ if ([UIFont respondsToSelector:@selector(systemFontOfSize:weight:)])
+ {
+ northFont = [UIFont systemFontOfSize:northSize weight:UIFontWeightUltraLight];
+ }
+ else
+ {
+ northFont = [UIFont systemFontOfSize:northSize];
+ }
NSAttributedString *north = [[NSAttributedString alloc] initWithString:NSLocalizedStringWithDefaultValue(@"COMPASS_NORTH", nil, nil, @"N", @"Compass abbreviation for north") attributes:@{
- NSFontAttributeName: [UIFont systemFontOfSize:9 weight:weight],
+ NSFontAttributeName: northFont,
NSForegroundColorAttributeName: [UIColor whiteColor],
}];
CGRect stringRect = CGRectMake((scaleImage.size.width - north.size.width) / 2,
@@ -1385,8 +1394,8 @@ mbgl::Duration MGLDurationInSeconds(NSTimeInterval duration)
CGPoint tapPoint = [singleTap locationInView:self];
- if (self.userLocationVisible
- && [self.userLocationAnnotationView.layer.presentationLayer hitTest:tapPoint])
+ CALayer *hitLayer = self.userLocationVisible ? [self.userLocationAnnotationView.layer.presentationLayer hitTest:tapPoint] : nil;
+ if (hitLayer && hitLayer != self.userLocationAnnotationView.haloLayer.presentationLayer)
{
if ( ! _userLocationAnnotationIsSelected)
{