我已经使用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
。修复之后,您可能会得到关于将
Float
和MKZoomScale
相乘的错误。因此,您可能需要:
mapView.animate(toZoom: MKZoomScale(distanceSlider.value) * zoomLevel)
关于ios - MapKit中的SLIDER-如何使用UISlider实现ZOOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175387/