gpt4 book ai didi

swift - 在 Swift 中按计算距离对数组进行排序

转载 作者:搜寻专家 更新时间:2023-10-30 21:48:56 27 4
gpt4 key购买 nike

所以我有一个自定义对象数组,它们具有双倍纬度和双倍经度值。我想根据从特定点到数组中每个项目的位置的计算距离对数组进行排序。我有一个函数可以根据纬度和经度值计算距离。有没有简单的方法来完成这种排序?

最佳答案

假设您的对象有一个模型 Place:

class Place {
var latitude: CLLocationDegrees
var longitude: CLLocationDegrees

var location: CLLocation {
return CLLocation(latitude: self.latitude, longitude: self.longitude)
}

func distance(to location: CLLocation) -> CLLocationDistance {
return location.distance(from: self.location)
}
}

然后一个数组 var places: [Place] 可以这样排序:

places.sort(by: { $0.distance(to: myLocation) < $1.distance(to: myLocation) })

关于swift - 在 Swift 中按计算距离对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199363/

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