我在电话数据库中有一个坐标列表(大约 100 个)。
我使用核心数据进行数据访问。
我使用核心位置来跟踪用户位置(也在后台工作)
在 diduplatelocation
方法中,我获取所有位置并计算所有位置与当前位置之间的距离
,如果用户距离例如 1000 米,则通知用户。
问题是这很慢,有时不起作用。
这种情况的最佳解决方案是什么?
最佳答案
将空间划分为区域。将带有区域标识符的坐标保存到数据库中。当您检查靠近您的坐标时,仅获取与您的位置位于同一区域的坐标以及您所在区域周围的其他区域。
例如中间区域是00,右边一个区域是10,右边两个区域是20。如果你所在位置的区域是00那么你不需要从区域20获取坐标,因为它们太远了.
希望这对您有所帮助。我只是说我想到的第一件事 :)
关于ios - 如何不断检查用户是否接近坐标列表中的某个坐标? (为了获得最佳性能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310770/