6

我的一个应用程序以非常高(最大)的 zoomLevel(高细节地图)使用 MKMapView 随着 iOS7 的引入,我无法像以前那样接近地图。

我正在为此使用 mapView setRegion: 方法。

我一直在运行测试,结果如下:

在全屏纵向模式地图视图中跨越 iOS 版本:

 iOS 5.1:   140 meters
 iOS 6.1:    70 meters
 iOS 7.0.3: 281 meters
 iOS 7.0.3: 160 meters (if pinched manually!!)

有没有办法在 iOS 7.0.3 上以编程方式实现 160 米(最大缩放级别)

(我知道水平跨度取决于纬度,所以米数只是比例的表示)

4

1 回答 1

14

此解决方案的积分在 Apple Developer 论坛上的线程中转到 YUF :

它使用MKMapCamera来确定缩放级别,而不是 setRegion。

MKMapCamera* camera = [MKMapCamera 
cameraLookingAtCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate
              fromEyeCoordinate:(CLLocationCoordinate2D)eyeCoordinate
                    eyeAltitude:(CLLocationDistance)eyeAltitude];
[mapView setCamera:camera animated:NO];

如果您保持 centerCoordinate 和 eyeCoordinate 相同,则相机将直视下方。高度将使您能够控制缩放。它不会一直降到零,但它会提供与以前的 iOS 版本相同的缩放级别。

于 2013-11-13T11:35:11.397 回答