MkMapView имеет свойства с именем centerCoordinate (CLLocationCoordinate2D) и региона (MKCoordinateRegion).Region - это структура, которая:
typedef struct {
CLLocationDegrees latitudeDelta;
CLLocationDegrees longitudeDelta;
}MKCoordinateSpan
Вы должны иметь возможность создать другую точку на основе centerCoordinate, скажем, добавив latitudeDelta к своему свойству latitude или centerCoordinate, и вычислить расстояние с помощью метода CLLocation:
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location
Примерно так
MkMapView * mapView; // init somewhere
MKCoordinateRegion region = mapView.region;
CLLocationCoordinate2D centerCoordinate = mapView.centerCoordinate;
CLLocation * newLocation = [[[CLLocation alloc] initWithLatitude:centerCoordinate.latitude+region.span.latitudeDelta longitude:centerCoordinate.longitude] autorelease];
CLLocation * centerLocation = [[[CLLocation alloc] initWithLatitude:centerCoordinate.latitude:longitude:centerCoordinate.longitude] autorelease];
CLLocationDistance distance = [centerLocation distanceFromLocation:newLocation]; // in meters
И просто вычисляйте каждый раз, когда делегат запускает определенный метод (решите, какой вам нужен: MKMapViewDelegate)