gpt4 book ai didi

swift - 使用 slider SWIFT4 调整 MKCircle 的大小

转载 作者:行者123 更新时间:2023-11-30 11:44:04 24 4
gpt4 key购买 nike

我的目的是做与 Facebook 应用程序完全相同的事情。这是我当前的代码:

class MapFilterViewController: UIViewController, CLLocationManagerDelegate {

@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var distanceSlider: UISlider!
@IBOutlet weak var distanceLabel: UILabel!
@IBOutlet weak var applyButton: UIButton!

let locationManager = CLLocationManager()


override func viewDidLoad() {
super.viewDidLoad()

applyButton.layer.cornerRadius = 5

locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()

mapView.delegate = self

}

func showCircle(coordinate: CLLocationCoordinate2D, radius: CLLocationDistance, mapView: MKMapView) {
let circle = MKCircle(center: coordinate, radius: radius)
mapView.add(circle)
}

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

let location = locations.last as! CLLocation

let center = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegion(center : center, span : span)

print("longitude = \(location.coordinate.longitude), latitude = \(location.coordinate.latitude)")


mapView.setRegion(region, animated: true)
mapView.showsUserLocation = true

showCircle(coordinate: location.coordinate, radius: 1000, mapView: mapView)
print(location.coordinate)

}
@IBAction func sliderValueChange(_ sender: Any) {
distanceLabel.text = String(distanceSlider.value) + " km"


}

我不明白如何在 sliderValueChange 操作中获取圆的半径并获得相同的动画

已经搜索了很多,大部分结果都是 Objective-C 的,我现在已经学习 Swift 3 周了。

感谢您的帮助

最佳答案

我认为最简单的方法是删除圆圈并创建一个新圆圈(因为您无法修改圆圈的半径)。

这里是一些您可以使用的代码:

var circle: MKCircle?

@IBAction func sliderValueChange(_ sender: UISlider) {
mapView.remove(circle)
let newRadius = sender.value * 1000
circle = MKCircle(center: coordinate, radius: radius)
mapView.add(circle)
}

当你学习时,我认为你应该从类似的事情开始。您也可以尝试调整叠加层的比例,但我认为这会更复杂一些,而且我不确定结果会好得多。

关于swift - 使用 slider SWIFT4 调整 MKCircle 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49045636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com