CoreLocation:知道用户何时没有移动 n 分钟
Posted
技术标签:
【中文标题】CoreLocation:知道用户何时没有移动 n 分钟【英文标题】:CoreLocation: know when user hasn't moved for n minutes 【发布时间】:2014-09-05 12:12:05 【问题描述】:我正试图准确地实现这一点:当用户在定义的时间内没有移动时调用一个方法,即使应用程序处于后台并且具有合理的功耗。
如果我不关心电源问题,这很容易做到,所以我对设置位置管理器经常刷新等解决方案不太感兴趣。
我找到了一种完全相反的方法,比如确定用户何时离开一个地方,但我似乎找不到我想做的事情。
如果我的情况不够精确,请随时询问更多细节。
谢谢!
【问题讨论】:
【参考方案1】:您需要在后台线程上执行重复的 NSTimer,检查上次 GPS 更新的时间并采取适当的措施。
为了进一步优化,您可能需要忽略某些基于纬度/经度、时间戳、速度的位置更新。提示:当用户静止时,速度/路线应为 -1(但当用户移动时,这些值可能为 -1)。
【讨论】:
我结束了使用我在用户位置周围设置的地理围栏,以及一个计时器来知道他是否已经越过了它,但是 GPS 精度并不总是很好,所以它并不总是有效,简而言之:没有好的解决方案:(不过我会将你的标记为已接受,你花时间研究它,谢谢! 根据我的经验,GeoFence 依赖于 Wifi/Cell 更改事件,对我来说,它们也不是解决该问题的好方法。如果时间不是重要因素,您在 m 分钟后激活 GPS n 分钟。见***.com/questions/18263047/…以上是关于CoreLocation:知道用户何时没有移动 n 分钟的主要内容,如果未能解决你的问题,请参考以下文章