मुझे कई एनोटेशन मिले हैं जिन्हें मैं अपने 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
?
अग्रिम में धन्यवाद।