离点

时间:2015-06-28 10:40:42

标签: ios nspredicate core-location cloudkit

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以在sortDescriptors中使用CKLocationSortDescriptor并将其与resultsLimit结合使用。这样您就可以按最接近您提供的点的位置进行排序,并获得特定数量的结果(例如5)。

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