OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 kCLLocationAccuracyBestForNavigation 进行非导航 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:43
标题: ios - 使用 kCLLocationAccuracyBestForNavigation 进行非导航

Apple 的 documentation声明仅建议将 kCLLocationAccuracyBestForNavigation 用于导航应用程序,并且仅在插入时使用,因为会消耗额外的电池。

我正在开发一个只需要定期定位的应用程序,甚至可能每次应用加载只需要一次,以找到用户的位置,以便向他们显示附近的一些地方可供选择。所以我并不经常需要它,但是当我需要它时,它需要非常准确(并且显然尽可能快)。我的愿望是尽可能快地达到 10m 精度(或更好)。

如果我使用 kCLLocationAccuracyBestForNavigation:

  1. 在短时间(以秒为单位)使用时,这会对电池产生任何有意义的影响吗?还是 Apple 的保守指导是针对长期使用此准确度级别的人?

  2. 也许更重要的是,这种准确度是否会导致位置管理器首次启动时的等待时间更长? IE。在报告第一个相当准确的位置之前的等待时间?

  3. 是否有任何关于 kCLLocationAccuracyBestForNavigationkCLLocationAccuracyBest 之间技术差异的文档? IE。究竟发生了什么使前者更准确?



Best Answer-推荐答案


  1. 我真的很怀疑。做这个实验。假设它确实对电池生命周期有重大影响。如果在短时间内运行 GPS 会显着消耗电池电量,那么一个使用最佳精度的应用程序怎么可能不会在很短的时间内杀死您的手机呢?除非最准确的 GPS 启动时会消耗大量电池,然后使用更少的电量,否则它不能。我怀疑它会这样做,但现在做这个实验。使用 GPS 完全运行您的应用程序并监控您的电池使用情况。运行一个受控实验,重新启动,甚至可能是一部干净的手机。观察电池电量百分比如何随时间降低。我的猜测是它是线性的,为了更高的准确性而消耗很大。

  2. 我之前使用过混合方法,使用 kCLLocationAccuracyKilometer 进行初始粗略位置确定。当它出现时,我更改为 kCLLocationAccuracyBestForNavigation 以优化位置。这可以让您快速响应,粗略准确度通常在 0.5 秒以下,然后您可以在几秒后(在我的测试中通常为 3 左右)获得更好的读数。

  3. 我不知道苹果在做什么,但我的寻宝经验可能会有所帮助。一个好的手持式 GPS 会随着时间的推移平均其读数。因此,您可能会从 50 英尺的精度开始,然后如果您静止不动并收集更多读数,它们就会被平均化。这可以减少您的统计错误。

关于ios - 使用 kCLLocationAccuracyBestForNavigation 进行非导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878832/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4