summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2016-01-17 20:46:23 -0800
committerMinh Nguyễn <mxn@1ec5.org>2016-01-20 11:02:31 -0800
commit867e01581c8211b73d1fb0263e2eebaf9e3198b0 (patch)
tree63923562d81c229d3b8ffe2e79ddafd7a22026e2 /platform
parent251925568c72dfe49cbb6b3a36dcc9fc7d80eb66 (diff)
downloadqtlocation-mapboxgl-867e01581c8211b73d1fb0263e2eebaf9e3198b0.tar.gz
[ios] Maintain user tracking mode after orientation change
Diffstat (limited to 'platform')
-rw-r--r--platform/ios/src/MGLMapView.mm7
1 files changed, 6 insertions, 1 deletions
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm
index 3ecbeeb33a..9e511c4892 100644
--- a/platform/ios/src/MGLMapView.mm
+++ b/platform/ios/src/MGLMapView.mm
@@ -824,7 +824,8 @@ std::chrono::steady_clock::duration MGLDurationInSeconds(float duration)
// set content insets.
CLLocationCoordinate2D oldCenter = self.centerCoordinate;
self.contentInset = contentInsets;
- self.centerCoordinate = oldCenter;
+ // Don’t call -setCenterCoordinate:, which resets the user tracking mode.
+ [self _setCenterCoordinate:oldCenter animated:NO];
}
}
@@ -1672,6 +1673,10 @@ std::chrono::steady_clock::duration MGLDurationInSeconds(float duration)
[self _setCenterCoordinate:centerCoordinate edgePadding:self.contentInset zoomLevel:zoomLevel direction:direction duration:animated ? MGLAnimationDuration : 0 animationTimingFunction:nil completionHandler:completion];
}
+- (void)_setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate animated:(BOOL)animated {
+ [self _setCenterCoordinate:centerCoordinate edgePadding:self.contentInset zoomLevel:self.zoomLevel direction:self.direction duration:animated ? MGLAnimationDuration : 0 animationTimingFunction:nil completionHandler:NULL];
+}
+
- (void)_setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate edgePadding:(UIEdgeInsets)insets zoomLevel:(double)zoomLevel direction:(CLLocationDirection)direction duration:(NSTimeInterval)duration animationTimingFunction:(nullable CAMediaTimingFunction *)function completionHandler:(nullable void (^)(void))completion
{
_mbglMap->cancelTransitions();