Objective c 添加新管脚后更改区域
当我加载mapView时,我只有一个勾号-用户位置。在一些动作之后,我添加了更多的PIN。但重点仍然是用户位置。我想放大图像以便看到所有目标。我该怎么做? 我的代码:Objective c 添加新管脚后更改区域,objective-c,ios,mapkit,Objective C,Ios,Mapkit,当我加载mapView时,我只有一个勾号-用户位置。在一些动作之后,我添加了更多的PIN。但重点仍然是用户位置。我想放大图像以便看到所有目标。我该怎么做? 我的代码: -(void)mapView:(MKMapView*)mapView添加注释视图:(NSArray*)视图{ 如果(views.count==1){ MKAnnotationView*annotationView=[views objectAtIndex:0]; idmp=[annotationView注释]; mkcoordin
-(void)mapView:(MKMapView*)mapView添加注释视图:(NSArray*)视图{
如果(views.count==1){
MKAnnotationView*annotationView=[views objectAtIndex:0];
idmp=[annotationView注释];
mkcoordinaereregion=mkcoordinaereregionmakewithdistance([mp坐标],500500);
[地图视图设置区域:区域动画:是];
}否则{
对于(i=0;iMkCoordinateRegion),有一个名为span的成员。要放大/缩小,必须使用该值:
region.span.longitudeDelta = aValue;
region.span.latitudeDelta = aValue;
希望这有帮助
干杯!你的意思是尝试在else
分支中创建新区域?是的,好吧,你在那里添加了超过1个注释,你想全部看到它们,对吗?这就是我从你的问题中理解的。如果是这样,你必须计算它们之间的最大距离,以便检测它们都适合的矩形。并将其设置为新区域。我看不到其他方法。虽然计算某些点之间的距离不是什么大问题,但我不知道如何将其与区域跨度联系起来以获得缩放级别。但我确信两者之间必须存在联系。
region.span.longitudeDelta = aValue;
region.span.latitudeDelta = aValue;