所以我有一组自定义对象,它们具有Double纬度和Double经度值.我想根据从特定点到阵列中每个项目的位置的计算距离对数组进行排序.我有一个函数,将根据纬度和经度值计算距离.有没有简单的方法来完成这种排序?
假设您有一个适合您的对象的模型位置:
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放置:[Place]可以这样排序:
places.sort(by: { $0.distance(to: myLocation) < $1.distance(to: myLocation) })