1

我通常在我的MKMapView. 我有不同位置的引脚,代码自动居中并根据最大值和最小值设置跨度。但是,我注意到当我添加越来越多的点时,我的地图会缩小到一定程度,而我会丢失边缘的东西。这里有一些照片:

这是我第一次加载 MKMapView 时的样子:


(来源:grapekeeper.com

当我平移时,我可以看到原始视图中丢失的更多图钉:


(来源:grapekeeper.com

当我捏紧模拟器时,它会尽可能缩小:


(来源:grapekeeper.com

这是我的代码供参考:

double min = [[allLatitudes valueForKeyPath:@"@min.self"] doubleValue];
double max = [[allLatitudes valueForKeyPath:@"@max.self"] doubleValue];
double latSpan = max-min;
double minL = [[allLongitudes valueForKeyPath:@"@min.self"] doubleValue];
double maxL = [[allLongitudes valueForKeyPath:@"@max.self"] doubleValue];
double lonSpan = maxL-minL;
double avgLatitude = (max+min)/2;
double avgLongitude = (maxL+minL)/2;

overallRegion.center.latitude = avgLatitude;
overallRegion.center.longitude = avgLongitude;
overallRegion.span.latitudeDelta = latSpan;
overallRegion.span.longitudeDelta = lonSpan;

[self.mapView setRegion:overallRegion animated:YES];
4

2 回答 2

2

答案是:不可能缩小到使用地图视图查看整个世界的程度。

于 2012-08-30T00:29:46.323 回答
1

看起来只是增加一点额外的空间并考虑对角线会有所帮助,请参阅在 MapKit 中缩小和适合所有注释的最佳方法是什么

这提供了一个很好的方法来做你想要的。

于 2012-08-15T22:52:30.947 回答