ios - MapKit中的SLIDER-如何使用UISlider实现ZOOM?

标签 ios swift slider mapkit uislider

我已经使用MapKit和data.plist完成了多个具有不同聚类颜色的自定义注释。

我在地图下方有一个带有标签的滑块,已经使用该滑块更改了标签的整数值。

现在,我想在更改滑块的同时缩放地图。

我搜索了Swift 4视频和Stack Overflow。

我从以下代码开始:

import MapKit

class ViewController: UIViewController {
    @IBOutlet weak var mapView: MKMapView!
    @IBOutlet weak var distanceSlider: UISlider!
    @IBOutlet weak var sliderValue: UILabel!

    @IBAction func changeSliderValue(_ sender: UISlider) {
        showSliderValue()
        changeZoomLevelWithSlider()
    }

    func showSliderValue () {
        let currentValue = Int(distanceSlider.value)
         sliderValue.text = "\(currentValue)"
    }

    func changeZommlevelWithSlider () {
        let zoomLevel: MKZoomScale = 5
        mapView.animate(toZoom: changeSliderValue.Value * zoomLevel)   
    }
}


错误:


  类型'(UISlider)->()'的值没有成员'Value'


如何使用滑块实现缩放功能?

最佳答案

该行:

mapView.animate(toZoom: changeSliderValue.Value * zoomLevel)


需要是:

mapView.animate(toZoom: distanceSlider.value * zoomLevel)


changeSliderValue是一个函数。您要引用滑块出口。获得其值的属性是value,而不是Value

修复之后,您可能会得到关于将FloatMKZoomScale相乘的错误。

因此,您可能需要:

mapView.animate(toZoom: MKZoomScale(distanceSlider.value) * zoomLevel)

关于ios - MapKit中的SLIDER-如何使用UISlider实现ZOOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175387/

相关文章:

objective-c - iOS:比较两个没有时间部分的 NSDate-s

ios - 如何在 Swift 中绘制两点(注释)之间的路线?

javascript - 需要对以下代码进行哪些更改才能设置 jQuery slider 的滑动暂停时间?

ios - 调试期间字符串中出现转义双引号

ios - Sinch - 通过远程通知的调用无法启动

ios - FBSDKLog : FBSDKGraphRequestConnection cannot be started before Facebook SDK initialized

swift - 完成处理程序无法关闭 popAlertController

python - 如何更新 bokeh 中的 customJS 函数中的全局 python 变量?

javascript - 使文本 float 在 javascript slider 库的右侧

iphone - 从 Facebook API iOS 的另一个 View Controller 调用方法