iOS:仅在汽车中获取后台位置更新

时间:2018-05-22 19:50:46

标签: ios core-location background-process core-motion

我正在寻找连续,节能的方法来跟踪使用汽车在后台行驶的距离。最终目标是能够计算用户使用汽车行驶的里程数。 我想象这个工作方式与“驾驶时请勿打扰”相同。

我正在考虑收集重要的位置更新并进行衡量 它们之间的距离使用MapKit的路由API。此外,我想检测用户何时开始使用汽车,然后根据它来启动/停止位置更新。

另外还有 - 位置准确性并不重要,因为我不需要计算超精确距离,例如我可以承受每千公里50-100km的误差。

到目前为止一直很好,但是当我采取正确的方法或者我错过了什么时,我并不完全确定。此外,我还没有想出如何在后台使用CoreMotion。

关于问题部分:

  1. 我是正确的方向,使用以下组合:
    • 重要的位置更新
    • MapKit的路线API
    • CoreMotion
  2. 当用户开始/停止与汽车一起移动时,有没有办法在后台接收通知?
  3. 是否可以确定何时使用汽车进行位置更新?
  4. 是否可以将位置更新与过去的动作活动相关联?
  5. 任何指示,如果我从一个完全错误的角度来看这个?

1 个答案:

答案 0 :(得分:0)

感谢@CocaCola提醒我在此处实际发布我的更新。

因此,我在PoC上进行了重要地点,访问和核心运动活动的实验。

我已经结束到可以检测到驾驶旅程相对良好的起点和终点的位置。

棘手的部分是要计算距离,因此我考虑了旅途中报告的其他枢轴点,因此使用MapKit计算了两个点之间的最短驾驶路线。这样做的问题是,城市中的路线有时会非常不准确,尤其是当您绕着同一地点转两次或多次时。 总体而言,如果您要跟踪长途旅行,该技术将非常准确。

您可以在此处找到PoC应用程序:https://github.com/KoCMoHaBTa/AutoLog