【问题标题】:Can I detect when a user moves through an intersection?我可以检测到用户何时通过十字路口吗?
【发布时间】:2015-06-05 02:16:40
【问题描述】:

我正在计划一个应用程序,其中包含一项功能,该功能要求它记录和存储用户在驾驶时采取的确切路线。是否有任何开箱即用的位置 api 支持此功能?或者支持检测转弯?我最初希望用户转向另一条道路触发的事件,但到目前为止,还没有这样的运气。

【问题讨论】:

    标签: android location maps


    【解决方案1】:

    我想你可以试试这个方法:

    1 请求 GPS 位置每 30 秒更新一次,您可以使用 Timer 和 TimerTask 以及 LocationManager 执行此操作;

    2 您可以通过Google Map API 与您获得的GPS 位置获取道路名称;

    3 因此,您将了解用户是否每 30 秒转向不同的道路。

    【讨论】:

    • 这是我考虑过的一种方法,在大多数情况下应该可以工作,但存在一个缺陷,即司机长时间在弯道上停留。 Crude MS Paint diagram here.红线代表用户的实际路径,黑线代表道路,蓝线代表应用记录的路径。如果蓝星代表应用检测到道路变化的位置,那么路点之间的最佳路线将是错误的道路,这会破坏应用的功能。
    • 我已经找到了我认为可以解决您查找路线方法中缺陷的方法,如果您有兴趣,我已经发布了我自己的答案。感谢您的帮助!
    【解决方案2】:

    我相信我已经找到了一个利用其他答案的解决方案。我会将其作为单独的答案发布,因为它为其他答案增加了更多内容并且是一个完整的解决方案。正如艾浩所说,我可以让我的应用每 30 秒请求一次更新的位置,以确定用户是否在新道路上,然后放置一个指示转弯的路点。但是,如果使用的映射算法(而且我没有编写自己的专业知识)检测到多个可能的路线,则此方法存在缺陷。我对这个问题的解决方案是存储所有位置响应,直到转弯。这意味着当检测到转弯时,最早的位置数据将是最后一个转弯,而最新的位置数据将对应于正在进行的转弯。该应用程序将请求备用路线,如果找到任何路线,将计算第二旧和第二最近坐标之间的路线,直到找不到备用路线。这应该会导致用户采取的确切路线。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 2021-02-15
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多