Saya menggunakan MKMapView dan telah menambahkan sejumlah pin anotasi ke peta sekitar 5-10 kilometer. Ketika saya menjalankan aplikasi, peta saya mulai diperbesar untuk menunjukkan seluruh dunia, apa cara terbaik untuk memperbesar peta sehingga pin sesuai dengan tampilan?
EDIT: Pemikiran awal saya adalah menggunakan MKCoordinateRegionMake dan menghitung pusat koordinat, bujurDelta, dan latitudeDelta dari anotasi saya. Saya cukup yakin ini akan berhasil, tetapi saya hanya ingin memeriksa bahwa saya tidak melewatkan sesuatu yang jelas.
Kode ditambahkan, BTW: FGLocation adalah kelas yang sesuai dengan MKAnnotation
, locationFake adalah salah satu NSMutableArray
dari objek-objek ini. Komentar selalu diterima ....
- (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;
}