在MKMapView中,在某些缩放lvl中,所有地图图块都是空白的.
我尝试使用最大变焦 solution.
现在我用它像这样:
我尝试使用最大变焦 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; } }