Converte o valor do span em metros em uma visualização de mapa

Sempre que o usuário ampliar ou reduzir o mapa, preciso saber quantos metros estão atualmente representados no mapa (largura ou altura

O que eu preciso é a função inversa de MKCoordinateRegionMakeWithDistance para calcular a distância representada pelo período atual do map

Tentei o seguinte código, mas obtive resultados errados:

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

Se eu definir a região do mapa para 1500 metros, obterá algo como 1800 como resultado ..

Obrigado pela sua ajuda, Vincent

questionAnswers(6)

yourAnswerToTheQuestion