У меня есть несколько аннотаций, которые я хочу добавить к моему MKMapView (это могло 0-п пункты, где п обычно около 5). Я могу добавить аннотации отлично, но я хочу, чтобы изменить размер карты, чтобы соответствовать всем аннотациям на экране сразу, и я не знаю, как это сделать.
Я смотрел на , -regionThatFits:но я не совсем уверен , что с ним делать. Я отправлю код , чтобы показать , что у меня до сих пор. Я думаю , что это должно быть в целом простая задача , но я чувствую себя немного перегружен с MapKit до сих пор.
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
location = newLocation.coordinate;
//One location is obtained.. just zoom to that location
MKCoordinateRegion region;
region.center = location;
//Set Zoom level using Span
MKCoordinateSpan span;
span.latitudeDelta = 0.015;
span.longitudeDelta = 0.015;
region.span = span;
// Set the region here... but I want this to be a dynamic size
// Obviously this should be set after I've added my annotations
[mapView setRegion:region animated:YES];
// Test data, using these as annotations for now
NSArray *arr = [NSArray arrayWithObjects:@one, @two, @three, @four, nil];
float ex = 0.01;
for (NSString *s in arr) {
JBAnnotation *placemark = [[JBAnnotation alloc] initWithLat:(location.latitude + ex) lon:location.longitude];
[mapView addAnnotation:placemark];
ex = ex + 0.005;
}
// What do I do here?
[mapView setRegion:[mapView regionThatFits:region] animated:YES];
}
Обратите внимание, все это происходит , как я получаю обновление местоположения ... Я не знаю , если это подходящее место , чтобы сделать это. Если нет, то где было бы лучше? -viewDidLoad?
Заранее спасибо.













