如何在iOS MKMapView上获得最大缩放级别

时间:2013-10-29 12:33:38

标签: ios7 mkmapview zoom mapkit region

我的一个应用程序在非常高(最大)的zoomLevel(高细节图)上使用MKMapView 随着iOS7的推出,我几乎不能像以前那样接近地图。

我正在使用mapView setRegion:方法。

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

跨越全屏纵向模式mapview的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米(最大缩放级别)

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

1 个答案:

答案 0 :(得分:14)

此解决方案的积分将在Apple开发者论坛的this主题中转到YUF:

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

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

如果你保持centerCoordinate和eyeCoordinate相同,相机将直视下方。 高度可让您控制变焦。它不会一直降到零,但它会提供与之前iOS版本相同的缩放级别。