diff options
Diffstat (limited to 'platform/ios/MGLMapView.mm')
-rw-r--r-- | platform/ios/MGLMapView.mm | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index 4a55ada173..962e3a1126 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -615,6 +615,8 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; { [self trackGestureEvent:MGLEventGesturePanStart forRecognizer:pan]; + mbglMap->setGestureInProgress(true); + self.centerPoint = CGPointMake(0, 0); self.userTrackingMode = MGLUserTrackingModeNone; @@ -651,6 +653,8 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; mbglMap->moveBy(offset.x, offset.y, secondsAsDuration(duration)); + mbglMap->setGestureInProgress(false); + if (duration) { self.animatingGesture = YES; @@ -694,7 +698,7 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; { [self trackGestureEvent:MGLEventGesturePinchStart forRecognizer:pinch]; - mbglMap->startScaling(); + mbglMap->setGestureInProgress(true); self.scale = mbglMap->getScale(); @@ -712,7 +716,7 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; } else if (pinch.state == UIGestureRecognizerStateEnded || pinch.state == UIGestureRecognizerStateCancelled) { - mbglMap->stopScaling(); + mbglMap->setGestureInProgress(false); [self unrotateIfNeededAnimated:YES]; @@ -730,7 +734,7 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; { [self trackGestureEvent:MGLEventGestureRotateStart forRecognizer:rotate]; - mbglMap->startRotating(); + mbglMap->setGestureInProgress(true); self.angle = [MGLMapView degreesToRadians:mbglMap->getBearing()] * -1; @@ -754,7 +758,7 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr; } else if (rotate.state == UIGestureRecognizerStateEnded || rotate.state == UIGestureRecognizerStateCancelled) { - mbglMap->stopRotating(); + mbglMap->setGestureInProgress(false); [self unrotateIfNeededAnimated:YES]; |