查找给定 MKMapItems 的最小可能边界区域



我有一个 MKMapItems 数组,我正在尝试找到我可以插入边界区域的坐标,这将使包含所有 MKMapItems 的地图放大最多

这些地图项目中的每一个都有坐标,因此通过一些简单的边界计算可以找到 4 个角。我正在寻找一个已经定义的函数(如果可用)。

如果还没有预定义的函数,那么任何帮助都是为给定的点集找出适当的跨度值,也将不胜感激!

提前感谢!

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];
}

尝试使用以下代码:

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];

相关内容

  • 没有找到相关文章

最新更新