मैं MKMapView का उपयोग कर रहा हूं और 5-10 किलोमीटर क्षेत्र के बारे में नक्शे में कई एनोटेशन पिन जोड़े हैं। जब मैं एप्लिकेशन चलाता हूं तो मेरा नक्शा पूरी दुनिया को दिखाने के लिए ज़ूम आउट करना शुरू कर देता है, मैप को ज़ूम करने का सबसे अच्छा तरीका क्या है ताकि पिन दृश्य को फिट कर सके?
संपादित करें: मेरी प्रारंभिक सोच MKCoordinateRegionMake का उपयोग करना और समन्वय केंद्र, देशांतरDelta और अक्षांशों की गणना करना होगा। मुझे पूरा यकीन है कि यह काम करेगा, लेकिन मैं सिर्फ यह जांचना चाहता था कि मुझे कुछ भी याद नहीं है।
कोड जोड़ा गया, BTW: FGLocation एक ऐसा वर्ग है जो इसके अनुरूप है MKAnnotation
, स्थानक NSMutableArray
इन वस्तुओं में से एक है। टिप्पणियों का हमेशा स्वागत है ...।
- (MKCoordinateRegion)regionFromLocations {
CLLocationCoordinate2D upper = [[locationFake objectAtIndex:0] coordinate];
CLLocationCoordinate2D lower = [[locationFake objectAtIndex:0] coordinate];
// FIND LIMITS
for(FGLocation *eachLocation in locationFake) {
if([eachLocation coordinate].latitude > upper.latitude) upper.latitude = [eachLocation coordinate].latitude;
if([eachLocation coordinate].latitude < lower.latitude) lower.latitude = [eachLocation coordinate].latitude;
if([eachLocation coordinate].longitude > upper.longitude) upper.longitude = [eachLocation coordinate].longitude;
if([eachLocation coordinate].longitude < lower.longitude) lower.longitude = [eachLocation coordinate].longitude;
}
// FIND REGION
MKCoordinateSpan locationSpan;
locationSpan.latitudeDelta = upper.latitude - lower.latitude;
locationSpan.longitudeDelta = upper.longitude - lower.longitude;
CLLocationCoordinate2D locationCenter;
locationCenter.latitude = (upper.latitude + lower.latitude) / 2;
locationCenter.longitude = (upper.longitude + lower.longitude) / 2;
MKCoordinateRegion region = MKCoordinateRegionMake(locationCenter, locationSpan);
return region;
}