【发布时间】:2015-03-27 20:20:31
【问题描述】:
对于我的 iPhone 应用,我在变量 userLocation 中获得了用户的位置,并且我正在使用 CLLocationManager didUpdateLocations 方法不断更新它。
在我的解析数据库中,我存储了数千个位置。
我的问题是什么是最有效的方法来持续比较/判断这些解析数据库位置是否在用户当前位置的 100 米范围内? p>
我目前的方法是每次用户位置发生变化时遍历数据库位置数组;计算与当前位置的距离并判断距离是否小于 100 米,但是随着位置不断变化,这将对处理器和电池造成沉重负担。有什么建议吗?
【问题讨论】:
-
我不知道这是否是最有效的,但我是这样做的:stackoverflow.com/questions/29267438/…
-
也许您应该将用户的位置从设备发送到 Parse,并告诉它针对数据运行查询(请参阅stackoverflow.com/a/24879278/467105),而不是将所有其他位置数据带到设备。跟踪上次查询完成的时间,只有当用户的位置变化 X 米或上一次查询超过 N 分钟时才再次调用它。
标签: ios swift parse-platform core-location cllocationmanager