我能够在mapview中获得可见区域的NE和SW协调。
但是我如何检查我的坐标是否位于这些NE和SW坐标之间。
E.g。假设我的SW坐标为" 38.94271", " -94.68807"我的NE坐标为" 39.06544300754172", " -94.57821056524351"
现在我的位置的纬度是22.354643,经度是10.34532那么如何检查我的位置是否位于特定区域?
答案 0 :(得分:0)
+ (BOOL)coordinate:(CLLocationCoordinate2D)coord inRegion:(MKCoordinateRegion)region
{
CLLocationCoordinate2D center = region.center;
MKCoordinateSpan span = region.span;
BOOL result = YES;
result &= cos((center.latitude - coord.latitude)*M_PI/180.0) > cos(span.latitudeDelta/2.0*M_PI/180.0);
result &= cos((center.longitude - coord.longitude)*M_PI/180.0) > cos(span.longitudeDelta/2.0*M_PI/180.0);
return result;
}
这应该可以解决问题。根据您的需求进行调整。