0
當我加載我的mapView時,我只有一個刻度 - 用戶位置。一些行動後,我添加更多的針。但重點仍在用戶位置。我想放大圖像以查看所有目標。我怎樣才能做到這一點? 我的代碼:添加新引腳後更改區域
-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
if (views.count == 1) {
MKAnnotationView *annotationView = [views objectAtIndex:0];
id<MKAnnotation>mp = [annotationView annotation];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([mp coordinate], 500, 500);
[mapView setRegion:region animated:YES];
} else {
for (NSUInteger i = 0; i<views.count; i++) {
[mapView addAnnotation:[views objectAtIndex:i]];
}
}
}
你的意思是嘗試在'else'分支中創建新區域? – RomanHouse 2012-07-08 19:31:13
是的,你在那裏添加了超過1個註釋,你想看到它們,對吧?這就是我從你的問題中所理解的。如果這是正確的,你必須計算它們之間的最大距離,以便檢測它們都適合的矩形。並將其設置爲您的新區域。我看不到另一種方式。雖然計算一些點之間的距離並不是什麼大問題,但我不知道如何將它與區域範圍關聯起來以獲得縮放級別。但我相信這兩者之間必須有聯繫。 – George 2012-07-08 19:46:48