CloudKit 个离点最近的位置

CloudKit locations closest to point

我正在寻找 CloudKit 的查询,它可以 return 我的对象位置离我最近,按距离排序。现在我可以得到距离我的点一定距离内的位置。

NSPredicate(format: "distanceToLocation:fromLocation:(%K,%@) < %f","Location",location,radiusInKilometers)

但这不是我需要的。我正在寻找的是从最近的位置排序的位置,对我来说半径并不重要,因此使用此查询然后在我的设备上对结果进行排序的解决方案对我不利。有帮助吗?

您可以使用 CKLocationSortDescriptor in your sortDescriptors and combine that with resultsLimit。这将使您可以按最接近您提供的点的位置进行排序,并获得特定数量的结果(例如 5)。

queryOperation.sortDescriptors = [CKLocationSortDescriptor(key: "location", relativeLocation: location)]
queryOperation.resultsLimit = 5