ios - Swift Mapkit 最大最小缩放

标签 ios swift uiscrollview mapkit

我似乎找不到我的问题的最佳答案。

我有这段代码是“OK”但不是想法

func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {

        print(mapView.camera.altitude)
        if mapView.camera.altitude < 800.00 && !modifyingMap
        {
            modifyingMap = true
            mapView.camera.altitude = 800.00
            modifyingMap = false
        }
    }

我想在我的应用程序中将用户的最大和最小缩放限制为我的 map 。

非常感谢指向 SO 答案的任何链接!

谢谢!

最佳答案

您可以使用 mapView:regionDidChangeAnimated: 委托(delegate)方法来监听区域更改事件,如果该区域比您的最大/最小区域更宽/更窄,则将其设置回最大/最小值使用 setRegion:animated: 向您的用户表明他们不能缩小/缩小那么远。

例如

func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
    let coordinate = CLLocationCoordinate2DMake(mapView.region.center.latitude, mapView.region.center.longitude)
    var span = mapView.region.span
    if span.latitudeDelta < 0.002 { // MIN LEVEL
        span = MKCoordinateSpanMake(0.002, 0.002)
    } else if span.latitudeDelta > 0.003 { // MAX LEVEL
        span = MKCoordinateSpanMake(0.003, 0.003)
    }
    let region = MKCoordinateRegionMake(coordinate, span)
    mapView.setRegion(region, animated:true)
}

关于ios - Swift Mapkit 最大最小缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359857/

相关文章:

ios - EAAcessory MFi 连接到 issc 数据路径协议(protocol) - EASession 无法初始化

ios - 如何在 iOS 上的 Storyboards 和 Nibs 中轻松搜索图像名称

ios - Facebook 在 ios 问题中使用 firebase 登录

ios - Swift 谷歌地图-点击标记时如何在屏幕底部移动标记?

ios - JSONDecoder 和 JSONEncoder 类是线程安全的吗?

ios - UIScrollView 内的 UIButton

ios - Swift AVMutableVideoComposition指令规模

xcode - 如何在 XCode 的 Interface Builder 中创建垂直 slider ?

ios - 在 iOS 7 中滚动到不稳定的 UITextView 底部

iOS swift : Constraints did not update on screen