设置区域后冻结MKMapView

时间:2016-08-14 20:25:45

标签: ios objective-c iphone ipad mkmapview

我有一个MKMapView,想要限制缩小级别。 我的方法是使用regionWillChangeAnimated-Method:

    - (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated {

    //Maximum zoom-out-level
    MKCoordinateSpan maxSpan;
    maxSpan.latitudeDelta = 0.2;
    maxSpan.longitudeDelta = 0.2;

    if (self.mapView.region.span.latitudeDelta > maxSpan.latitudeDelta ) {
        CLLocation *location = [self.locationManager location];
        CLLocationCoordinate2D coordinate = [location coordinate];
        MKCoordinateRegion region;
        region.center = coordinate;

        region.span = maxSpan;
        [self.mapView setRegion:region animated:YES];
    }
}

当我缩小最大范围时,地图区域会正确重置为最大值。 不幸的是,在我调用setRegion:之后,mapView冻结了,我无法使用mapView进行缩放或交互。该应用程序并没有崩溃。

有人知道我的代码中有什么问题吗?是否有更好的方法来限制缩小级别?

提前多多感谢!

0 个答案:

没有答案