Tôi có một số chú thích mà tôi muốn thêm vào MKMapView của mình (nó có thể là 0-n mục, trong đó n thường là khoảng 5). Tôi có thể thêm các chú thích cũng được, nhưng tôi muốn thay đổi kích thước bản đồ để vừa với tất cả các chú thích trên màn hình cùng một lúc và tôi không chắc cách thực hiện việc này.
Tôi đã xem xét -regionThatFits:
nhưng tôi không chắc phải làm gì với nó. Tôi sẽ đăng một số mã để hiển thị những gì tôi có cho đến nay. Tôi nghĩ rằng đây là một nhiệm vụ nhìn chung đơn giản nhưng tôi cảm thấy hơi quá tải với MapKit cho đến nay.
- (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];
}
Lưu ý, tất cả điều này xảy ra khi tôi nhận được bản cập nhật vị trí ... Tôi không biết đó có phải là nơi thích hợp để thực hiện việc này hay không. Nếu không, nơi nào sẽ là một nơi tốt hơn? -viewDidLoad
?
Cảm ơn trước.