Вы должны принять протокол MKMapViewDelegate
и реализовать метод mapView:regionDidChangeAnimated:
, который будет вызываться в случае изменения региона. Однако, так как он будет вызываться много раз при прокрутке, вы должны принять это во внимание перед реализацией этого метода.
Получение верхней-левой координаты карты
CLLocationCoordinate2D topLeftCoordinate = [self.mapView convertPoint:CGPointMake(0,0)
toCoordinateFromView:self.mapView];
Или
Поскольку вы уже знаете регион,
MKCoordinateRegion region = self.mapView.region;
MKCoordinateSpan span = region.span;
CLLocationCoordinate2D center = region.center;
CLLocationCoordinate2D topLeftCoordinate = CLLocationCoordinate2DMake(center.latitude - span.latitudeDelta / 2, center.longitude - span.longitudeDelta / 2);
/* Similarly, get the others */