Как проверить, содержит ли MKCoordinateRegion CLLocationCoordinate2D без использования MKMapView?

Мне нужно проверить, принадлежит ли местоположение пользователя к MKCoordinateRegion. Я был удивлен, не найти простую функцию для этого, что-то вроде: CGRectContainsCGPoint (прямоугольник, точка).

Я нашел следующий фрагмент кода:

<code>CLLocationCoordinate2D topLeftCoordinate = 
    CLLocationCoordinate2DMake(region.center.latitude 
                               + (region.span.latitudeDelta/2.0), 
                               region.center.longitude 
                               - (region.span.longitudeDelta/2.0));


    CLLocationCoordinate2D bottomRightCoordinate = 
    CLLocationCoordinate2DMake(region.center.latitude 
                               - (region.span.latitudeDelta/2.0), 
                               region.center.longitude 
                               + (region.span.longitudeDelta/2.0));

        if (location.latitude < topLeftCoordinate.latitude || location.latitude > bottomRightCoordinate.latitude || location.longitude < bottomRightCoordinate.longitude || location.longitude > bottomRightCoordinate.longitude) {

    // Coordinate fits into the region

    }
</code>

Но я не уверен, что он точный, поскольку в документации не указано, как именно рассчитывается прямоугольник региона.

Должен быть более простой способ сделать это. Я пропустил какую-то функцию в документации инфраструктуры MapKit?

Ответы на вопрос(8)

Ваш ответ на вопрос