我正在使用MKMapView,並在地圖上添加了大量5-10公里區域的註釋引腳。當我運行應用程序時,我的地圖開始縮小以顯示整個世界,縮放地圖的最佳方式是什麼,以便引腳適合視圖?縮放MKMapView以適應註釋引腳?
編輯: 我最初的想法是使用MKCoordinateRegionMake和計算從我的註釋座標中心,longitudeDelta和latitudeDelta。我很確定這會起作用,但我只是想檢查我沒有錯過任何明顯的事情。
已添加代碼,BTW:FGLocation是一個符合MKAnnotation
的類,locationFake是這些對象的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;
}
的iOS 7注:新[showAnnotations:動畫:](https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html#//apple_ref/doc/uid/TP40008205-CH3-SW83)方法可幫助您避免此手動區域計算。 – Anna 2013-10-16 01:12:24