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>'


有人知道为什么会给我这个错误吗?我相当确定坐标是有效的。

最佳答案

MKCoordinateSpan接受经度和纬度范围。您正在通过250250。整个地球的经度仅从-180到180,而纬度从-90到90。您需要将我假设的250米的测量值转换为经度和纬度。

或者使用函数MKCoordinateRegionMakeWithDistance

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

关于ios - XCode不接受我的CLLocationCoordinate2D。说“无效区域”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17751048/

10-12 05:41