ios - 如何不断检查用户是否接近坐标列表中的某个坐标? (为了获得最佳性能)

标签 ios swift core-data ios8 core-location

我在电话数据库中有一个坐标列表(大约 100 个)。
我使用核心数据进行数据访问。
我使用核心位置来跟踪用户位置(也在后台工作)
diduplatelocation 方法中,我获取所有位置并计算所有位置与当前位置之间的距离
,如果用户距离例如 1000 米,则通知用户。
问题是这很慢,有时不起作用。

这种情况的最佳解决方案是什么?

最佳答案

将空间划分为区域。将带有区域标识符的坐标保存到数据库中。当您检查靠近您的坐标时,仅获取与您的位置位于同一区域的坐标以及您所在区域周围的其他区域。

例如中间区域是00,右边一个区域是10,右边两个区域是20。如果你所在位置的区域是00那么你不需要从区域20获取坐标,因为它们太远了.

希望这对您有所帮助。我只是说我想到的第一件事 :)

关于ios - 如何不断检查用户是否接近坐标列表中的某个坐标? (为了获得最佳性能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310770/

相关文章:

ios - 使用 iOS swift 代码访问 flutter assets

ios - Swift UIViewController 到另一个 UIViewControllers (segue)

ios - 在 xcode 中存档时,Ionic Framework Hackishly 隐藏输入错误

iphone - 如何从 iOS 7 的 View 中删除所有按钮?

ios - 如何更改不在 Storyboard 中的 viewController 的方向

c++ - Qml/Qt/C++ : QQuickView in a Widget, 找不到正确的位置

ios - 使用 SwiftyDropbox 创建指向文件的共享链接

ios - 为什么我存入CoreData会出错?

iphone - AppDelegate 中的 CoreData(存储新对象)= SIGABRT

ios - UIApplication 的 `beginIgnoringInteractionEvents` 不工作