ฉันมีคำอธิบายประกอบหลายรายการที่ต้องการเพิ่มลงใน MKMapView ของฉัน (สามารถเป็น 0-n รายการโดยที่ n โดยทั่วไปจะอยู่ที่ประมาณ 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
เหรอ?
ขอบคุณล่วงหน้า.