我有一个MKMapItems数组,我正在尝试找到我可以插入到边界区域的坐标,该边界区域将生成包含所有MKMapItems的放大最多的地图
这些地图项中的每一个都有坐标,因此可以通过一些简单的边界计算找到4个角。我正在寻找一个已经定义过的功能。
如果还没有预定义的功能,那么任何帮助都可以确定一组给定点的适当跨度值也会受到赞赏!
提前致谢!
答案 0 :(得分:3)
iOS 7的方法有:
- (void)showAnnotations:(NSArray *)annotations animated:(BOOL)animated
给它一组地标,它会为你改变区域:
[self.mapView showAnnotations:placemarks animated:YES];
您可以从地图项中获取地标:
NSMutableArray *placemarks = [NSMutableArray array];
for (MKMapItem *mapItem in mapItems) {
[placemarks addObject:mapItem.placemark];
}
答案 1 :(得分:1)
尝试使用以下代码:
MKMapRect zoomRect = MKMapRectNull;
for (EveryMapItem in MKMapItems)
{
MKMapPoint annotationPoint = MKMapPointForCoordinate(EveryMapItem.coordinate);
MKMapRect pointRect = MKMapRectMake(annotationPoint.x, annotationPoint.y, 0.1, 0.1);
zoomRect = MKMapRectUnion(zoomRect, pointRect);
}
[mapView setVisibleMapRect:zoomRect animated:YES];