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