MKMapView设置缩放限制而不弹跳

sas*_*ash 5 objective-c mapkit mkmapview ios mkmapviewdelegate

关于MKMapView的最大缩放的stackoverflow有很多问题和答案,例如:

有没有办法限制MKMapView的最大缩放级别?

不幸的是,没有答案实际上对我有用(或者我没有正确实施).我无法模拟原生地图的行为,即限制缩放级别而不"反弹"或重新恢复.

这是我使用的代码:

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated
{ 
    if( mapView.region.span.latitudeDelta<0.001 || mapView.region.span.longitudeDelta<0.001){
        MKCoordinateRegion region =mapView.region;
        region.span = MKCoordinateSpanMake(0.001, 0.001);
        mapView.region = region;
        [mapView setRegion:mapView.region animated:NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

当用户捏合和缩放地图并且地图达到最大缩放(由我设置)时,地图不应放大然后反弹.可能吗?

Hug*_*ugo 0

据我所知,我认为如果不自己设置,实际上不可能设置最大缩放或最小缩放。但我知道,如果您使用 Google Map SDK,您实际上可以设置地图的最大和最小缩放: https: //developers.google.com/maps/documentation/ios/reference/interface_g_m_s_map_view