【发布时间】:2014-05-31 11:06:44
【问题描述】:
我正在使用此代码设置MKMapView 的区域,使其以pin 为中心并缩放以显示大约 10 公里的区域。
CLLocationAccuracy accuracy = kCLLocationAccuracyKilometer;
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(pin.coordinate, accuracy * 10.0f, accuracy * 10.0f);
[self.mapSubView setRegion:region animated:NO];
当使用纬度 -90、经度 -58.359001159667969 的 pin 坐标运行代码时,将生成 region,如下所示:
绘制mapSubView时发生崩溃:-
由于未捕获的异常而终止应用 'NSInvalidArgumentException',原因:'无效区域 '
我第一次尝试解决这个问题是检查“边缘”纬度/经度(-90、+90、-180、+180),这解决了问题。但是,如果纬度变为 -89.99999,问题就会再次出现。
我猜这是由于纬度为 -90 和/或区域跨度的经度增量如此之大导致该区域实际上“脱离了这个世界”:p
任何关于如何将地图围绕在任何坐标上的大头针居中的建议,显示约 10 公里的区域,而不会发生这种崩溃,我们将不胜感激。
【问题讨论】:
标签: objective-c mkmapview mapkit core-location