MKMapView - как рассчитать квадратные мили в настоящее время в поле зрения - PullRequest
0 голосов
/ 16 декабря 2011

Чтобы использовать различные API-интерфейсы, которые принимают координаты север-восток и юг-запад для использования в качестве "области просмотра", некоторые из них имеют максимальный предел квадратных миль для поиска.

Я хотел бы рассчитать квадратные мили, показанные при текущем уровне масштабирования MKMapView.

1 Ответ

1 голос
/ 24 декабря 2011

Вот решение:

- (float)numSquareMiles
{
    CLLocationCoordinate2D northEast, southWest;
    northEast = [mapView convertPoint:CGPointMake(mapView.frame.size.width, 0) toCoordinateFromView:mapView];
    southWest = [mapView convertPoint:CGPointMake(0, mapView.frame.size.height) toCoordinateFromView:mapView];


    float distanceLatInDegrees = northEast.latitude - southWest.latitude;
    float numLatMiles = 69.172 * distanceLatInDegrees;

    float distanceLonInDegrees = northEast.longitude - southWest.longitude;
    float numLonMiles = 69.172 * distanceLonInDegrees;

    float numSquareMiles = numLatMiles*numLonMiles;

    return numSquareMiles;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...