Saya punya beberapa anotasi yang ingin saya tambahkan ke MKMapView saya (bisa 0-n item, di mana n umumnya sekitar 5). Saya dapat menambahkan anotasi dengan baik, tetapi saya ingin mengubah ukuran peta agar sesuai dengan semua anotasi di layar sekaligus, dan saya tidak yakin bagaimana melakukan ini.
Saya telah melihat -regionThatFits:
tetapi saya tidak yakin apa yang harus saya lakukan dengannya. Saya akan memposting beberapa kode untuk menunjukkan apa yang saya dapatkan sejauh ini. Saya pikir ini seharusnya menjadi tugas yang umumnya mudah tetapi sejauh ini saya merasa agak kewalahan dengan 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];
}
Perhatikan, ini semua terjadi saat saya menerima pembaruan lokasi ... Saya tidak tahu apakah itu tempat yang tepat untuk melakukan ini. Jika tidak, di manakah tempat yang lebih baik? -viewDidLoad
?
Terima kasih sebelumnya.