MKMapView避免空白图块[iOS 8]

前端之家收集整理的这篇文章主要介绍了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相关文章