【问题标题】:Here offroad navigation using LocationDataSourceAutomotive此处使用位置数据源汽车进行越野导航
【发布时间】:2016-09-16 06:54:51
【问题描述】:

我想在 Here 未映射的区域使用我们的应用程序指导驾驶员。问题是 PositioningManager 给出的“地图匹配”位置有时与卡车实际位置相去甚远。

所以我使用 LocationDataSourceAutomotive 来提供我自己的位置(设备给出的原始位置)并且一切都很好(PositionIndicator 在地图上移动,getLastKnownPosition() 很好,等等),除了导航不起作用。

我使用

开始导航
NavigationManager.getInstance().startNavigation(route);

但我在 NewInstructionEventListener 中没有得到任何指令。当我不遵循计算的路线时,我不会“重新路由”。

有没有人知道我为什么以及如何解决这个问题或使用其他方式实现相同的目标(越野导航)?

【问题讨论】:

    标签: android here-api


    【解决方案1】:

    LocationDataSourceAutomotive 并不意味着以这种方式使用。

    引擎一般不支持越野导航。如果您的设备位于没有道路网络的地方,导航引擎将继续与已知道路网络匹配。如果用户返回路线或行驶到已知道路网络上的道路上,它将恢复导航。

    此外,定位管理器将回调不同类型的位置。请使用 MapMatchedPosition 实例来区分来自导航管理器的 onPositionUpdated 回调是匹配的还是原始的。

    【讨论】:

    • 你能解释一下你是怎么做到的吗?我在 sdk 中找不到类 MapMatchedPosition。我知道 PositioningManager 回调中有一个布尔值“mapMatched”,但我不知道如何获取原始位置。我想要做的是防止地图匹配距离已知路线太远的位置(这是默认行为,但我希望能够降低距离阈值)。我想我可以使用 LocationDataSourceAutomotive get***StandardDeviation 方法来实现这一点。
    • 好的,我认为您的意思是 MatchedGeoPosition 确实包含原始位置。这很有用,但我怎样才能在这个位置设置 PositionIndicator 呢?现在是不是太晚了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多