XCode不接受我的CLLocationCoordinate2D。称“无效区域”

时间:2013-07-19 16:26:54

标签: ios objective-c mkmapview

CLLocationCoordinate2D defaultCoordinate;
defaultCoordinate.latitude = 47.517201;
defaultCoordinate.longitude = -120.366211;
[locationView setRegion:MKCoordinateRegionMake(defaultCoordinate,   MKCoordinateSpanMake(250, 250)) animated:NO];  

我制作一个CLLocationCoordinate2D,设置其坐标,然后我同时创建一个MKCoordinateRegion并设置我的地图视图locationView的区域。

这是我得到的错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid Region <center:+47.51720100, -120.36621100 span:+250.00000000, +250.00000000>'

任何人都知道为什么它会给我这个错误?我很确定坐标是有效的。

1 个答案:

答案 0 :(得分:2)

MKCoordinateSpan接受经度和纬度的范围。你传递的是250,250。整个地球经度仅从-180到180,纬度从-90到90.您需要将我所假设的是250米的经度转换为经度和纬度。

或者使用函数MKCoordinateRegionMakeWithDistance

MKCoordinateRegion MKCoordinateRegionMakeWithDistance(
   CLLocationCoordinate2D centerCoordinate,
   CLLocationDistance latitudinalMeters,
   CLLocationDistance longitudinalMeters
);