MKMapView避免空白区块[iOS 8 +]

时间:2016-08-31 05:59:37

标签: ios swift mkmapview

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)
        }
    }

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用mapView.camera对象MKMapCamera来执行此操作。

来自文档 -

  

var altitude:CLLocationDistance

     

高于地面的高度,以米为单位。

只需找到适合海拔的好价值。从这个答案,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;
}
}