J'ai plusieurs annotations que je veux ajouter à mon MKMapView (il pourrait 0 articles-n, où n est généralement autour de 5). Je peux ajouter les annotations très bien, mais je veux redimensionner la carte pour adapter toutes les annotations à l'écran à la fois, et je ne sais pas comment faire.
Je l' ai regardé -regionThatFits:mais je ne suis pas tout à fait sûr de ce qu'il faut faire avec. Je vais un peu de code pour montrer ce que j'ai jusqu'à présent. Je pense que cela devrait être une tâche généralement simple mais je me sens un peu submergé par MapKit jusqu'à présent.
- (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];
}
Remarquez, tout cela se passe comme je reçois une mise à jour de l' emplacement ... Je ne sais pas si c'est un endroit approprié pour le faire. Dans le cas contraire, où serait un meilleur endroit? -viewDidLoad?
Merci d'avance.













