ios6中的MKMapView NSInvalidArgumentException无效区域崩溃

ios6中的MKMapView NSInvalidArgumentException无效区域崩溃,ios6,mkmapview,Ios6,Mkmapview,当使用MKMapView设置位置坐标时,程序崩溃。 日志: 由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:“无效区域” 我的程序中的span是 MKCoordinateSpan span; span.latitudeDelta = .05; span.longitudeDelta = .02; 编码后: self.mMKMapview.region = [self.mMKMapview regionThatFits:region]; 如日

当使用MKMapView设置位置坐标时,程序崩溃。 日志:

由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:“无效区域

我的程序中的span是

MKCoordinateSpan span;
span.latitudeDelta = .05;
span.longitudeDelta = .02;
编码后:

    self.mMKMapview.region = [self.mMKMapview regionThatFits:region];
如日志所示,span更改为:+0.05165163、+0.43945312

请任何人帮帮我,我已经在这里呆了两天了


谢谢

问题在于
中心
坐标:

+112.5707500,+37.87049600

纬度必须在-90到+90之间,因此+112.57075超出范围

检查中心坐标是如何设置的,或者数据是向后的



此外,您不需要显式调用
regionatfits
,因为当您正常设置区域时,地图视图会自动执行此操作(即只需调用
setRegion
)。顺便说一下,地图视图根据需要调整跨度以适应地图视图尺寸或缩放级别是正常的。

我使用以下代码设置区域:

if( centerLat > -89 && centerLat < 89 && centerLng > -179 && centerLng < 179 ){
    [self.mapView setRegion:region animated:YES];
}
if(centerLat>-89&¢erLat<89&¢erLng>-179&¢erLng<179){
[self.mapView setRegion:区域动画:是];
}

我建议使用

大概是

guard CLLocationCoordinate2DIsValid(centerLat) else {

     return
}