MKMapView避免空白图块[iOS 8]

在MKMapView中,在某些缩放lvl中,所有地图图块都是空白的.
我尝试使用最大变焦 solution.
现在我用它像这样:
func mapView(mapView: MKMapView,regionDidChangeAnimated animated: Bool) {
        userSpan = mapView.region.span
        if mapView.zoomLevel() > maxZoomLvl
        {
            mapView.setCenterCoordinate(mapView.centerCoordinate,zoomLevel: maxZoomLvl,animated: true)
        }
    }

但是当用户缩放到最大值时,它会缩小动画效果.但是我需要一些解决方案,比如原生苹果地图应用程序:只需阻止最大缩放,无法缩放深度而无需缩放.
预期结果:

>在最大变焦和缩放反弹时避免使用平淡的瓷砖(就像现在使用当前解决方案一样)
>如果没有瓷砖,地图应停止缩放(如原生苹果地图应用)或地图应缩放最后可见的瓷砖(如谷歌地图应用)

解决方法

您可以使用mapView.camera这是一个MKMapCamera对象.

来自文档 –

var altitude: CLLocationdistance

The altitude above the ground,measured in meters.

只需要找到适合海拔的好价值.从这个答案,Is there way to limit MKMapView maximum zoom level?

似乎以下可能对您有所帮助 –

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
// enforce maximum zoom level
if (_mapView.camera.altitude < 120.00 && !_modifyingMap) {
    _modifyingMap = YES; // prevents strange infinite loop case

    _mapView.camera.altitude = 120.00;

    _modifyingMap = NO;
}
}

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...