如何检查我的坐标是否位于地图可见区域?

时间:2015-08-04 10:07:20

标签: objective-c iphone mkmapview

我能够在mapview中获得可见区域的NE和SW协调。

但是我如何检查我的坐标是否位于这些NE和SW坐标之间。

E.g。假设我的SW坐标为" 38.94271",     " -94.68807"我的NE坐标为" 39.06544300754172",     " -94.57821056524351"

现在我的位置的纬度是22.354643,经度是10.34532那么如何检查我的位置是否位于特定区域?

1 个答案:

答案 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;
}

这应该可以解决问题。根据您的需求进行调整。