0

我在 MKMapView 上有一个缩放/缩小按钮。缩放工作正常,但当用户处于最大 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;
4

1 回答 1

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];
}

谢谢 !

于 2014-05-21T08:26:26.610 回答