【问题标题】:iOS: Getting location updates in background only when in a cariOS:仅在车内时在后台获取位置更新
【发布时间】:2018-11-01 16:23:01
【问题描述】:

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

我正在考虑收集重要的位置更新并衡量 使用 MapKit 的路由 API 确定它们之间的距离。我还想检测用户何时开始开车,然后基于此开始/停止位置更新。

还要提一下 - 定位精度并不重要,因为我不需要计算超精确的距离,例如,我可以承受每几千公里就有 50-100 公里的误差。

到目前为止一切都很好,但是我不完全确定我是否采取了正确的方法或者我错过了一些东西。我还没有弄清楚如何在后台使用 CoreMotion。

关于问题部分:

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

【问题讨论】:

  • 你成功了吗?

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


【解决方案1】:

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

所以我做了一个 PoC,我在其中试验了重要的位置、访问和核心运动活动。

我已经到了能够检测到驾驶旅程相对良好的起点和终点位置的地步。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    相关资源
    最近更新 更多