我有一个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进行缩放或交互。该应用程序并没有崩溃。
有人知道我的代码中有什么问题吗?是否有更好的方法来限制缩小级别?
提前多多感谢!