diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index 3cee7db4e91..a2f67c7bba7 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -370,7 +370,8 @@ - (void)commonInit { _quickZoom = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleQuickZoomGesture:)]; _quickZoom.numberOfTapsRequired = 1; - _quickZoom.minimumPressDuration = 0.25; + _quickZoom.minimumPressDuration = 0; + [_quickZoom requireGestureRecognizerToFail:doubleTap]; [self addGestureRecognizer:_quickZoom]; } @@ -1336,9 +1337,9 @@ - (void)handleQuickZoomGesture:(UILongPressGestureRecognizer *)quickZoom } else if (quickZoom.state == UIGestureRecognizerStateChanged) { - CGFloat distance = self.quickZoomStart - [quickZoom locationInView:quickZoom.view].y; + CGFloat distance = [quickZoom locationInView:quickZoom.view].y - self.quickZoomStart; - CGFloat newZoom = log2f(self.scale) + (distance / 100); + CGFloat newZoom = log2f(self.scale) + (distance / 75); if (newZoom < _mbglMap->getMinZoom()) return;