我在MKMapView上有一个zoom / dezoom按钮。缩放正在工作,但当用户处于最大缩放级别时,dezoom会崩溃。我有例外:
'NSInvalidArgumentException', reason: 'Invalid Region <center:+37.17818069, -96.05458069 span:+237.74976671, +218.02936959>'
有时使用NaN值。 如何检查下一个区域的有效性?
这是我的代码
MKCoordinateRegion region = self.mapView_apple.region;
region.span.latitudeDelta *= 2.0;
region.span.longitudeDelta *= 2.0;
self.mapView_apple.region = region;
答案 0 :(得分:0)
基于Chan的评论,这是我的解决方案:
MKCoordinateRegion region = self.mapView.region;
MKCoordinateSpan newSpan = region.span;
newSpan.latitudeDelta *= 2.0; // divide for zooming and change the value if you want
newSpan.longitudeDelta *= 2.0;
if(newSpan.latitudeDelta < 180.f && newSpan.longitudeDelta < 180.f) {
region.span = newSpan;
[self.mapView setRegion:region animated:YES];
}
谢谢!