Swift 4.2
й раз, когда пользователь увеличивает или уменьшает карту, мне нужно знать, сколько метров в настоящее время представлено на карте (ширина или высота).
Что мне нужно, это обратная функцияMKCoordinateRegionMakeWithDistance рассчитать расстояние, представленное текущим отрезком карты.
Я пробовал следующий код, но я получаю неправильные результаты:
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
MKMapRect mRect = self.map.visibleMapRect;
MKMapPoint northMapPoint = MKMapPointMake(MKMapRectGetMidX(mRect), MKMapRectGetMinY(mRect));
MKMapPoint southMapPoint = MKMapPointMake(MKMapRectGetMidX(mRect), MKMapRectGetMaxY(mRect));
self.currentDist = MKMetersBetweenMapPoints(northMapPoint, southMapPoint);
}
Если я установлю область карты на 1500 метров, я получу что-то вроде 1800 в результате ..
Спасибо за вашу помощь, Винсент