0

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

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

如果还没有预定义的函数,任何帮助确定给定点集的适当跨度值也将不胜感激!

提前致谢!

4

2 回答 2

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];
}
于 2014-03-31T10:33:37.690 回答
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];
于 2014-03-31T10:19:06.110 回答