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

How to check whether my coordinates lies in map visible region?

我能够在我的地图视图中获得可见区域的东北和西南坐标。

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

例如假设我的西南坐标是“38.94271”, “-94.68807”,我的东北坐标是“39.06544300754172”, “-94.57821056524351”。

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

+ (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;
}

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