Ich habe mehrere Anmerkungen, die ich zu meiner MKMapView hinzufügen möchte (es können 0-n Elemente sein, wobei n im Allgemeinen bei 5 liegt). Ich kann die Anmerkungen gut hinzufügen, aber ich möchte die Größe der Karte so ändern, dass alle Anmerkungen gleichzeitig auf dem Bildschirm angezeigt werden, und ich bin mir nicht sicher, wie ich das tun soll.
Ich habe es -regionThatFits:
mir angesehen, bin mir aber nicht ganz sicher, was ich damit anfangen soll. Ich werde einen Code posten, um zu zeigen, was ich bisher habe. Ich denke, dies sollte eine allgemein einfache Aufgabe sein, aber ich fühle mich bisher ein bisschen mit MapKit überfordert.
- (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];
}
Beachten Sie, dass dies alles passiert, wenn ich ein Standortupdate erhalte ... Ich weiß nicht, ob dies ein geeigneter Ort dafür ist. Wenn nicht, wo wäre ein besserer Ort? -viewDidLoad
?
Danke im Voraus.