Mkmapview nsinvalidargumentException ios6中的区域崩溃无效



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

由于未被发现的例外" nsinvalidargumentException"终止应用程序,原因是:"无效区域<center:+112.57075000, +37.87049600 span:+0.05165163, +0.43945312>'

我程序中的跨度是

MKCoordinateSpan span;
span.latitudeDelta = .05;
span.longitudeDelta = .02;

编码后:

    self.mMKMapview.region = [self.mMKMapview regionThatFits:region];

如日志所示,跨度更改为: 0.05165163, 0.43945312

任何人都可以帮助,我在这里停滞了两天。

谢谢!

问题是center坐标:

112.57075000, 37.87049600

纬度必须从-90到 90,因此 112.57075超出了范围。

检查中心坐标的设置方式或数据向后。


另外,您无需明确调用regionThatFits,因为当您正常设置区域时,地图视图会自动进行(即,只需调用setRegion)即可。顺便说一句,地图视图是正常的,可以根据需要调整范围以适合地图视图尺寸或缩放级别。

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

if( centerLat > -89 && centerLat < 89 && centerLng > -179 && centerLng < 179 ){
    [self.mapView setRegion:region animated:YES];
}

我宁愿建议使用cllocation coortion2disvalid

所以类似

guard CLLocationCoordinate2DIsValid(centerLat) else {
     return
}

相关内容

  • 没有找到相关文章