安卓navigation2如何重新规划导航

0 投票
业务需求:当使用navigation2进行导航时,在导航过程中可能会变更新路径,此时如何将正在导航中的旧线路重新规划出新的路径并切换到新路径继续导航?

请问有没有api可设置更换导航路径的?
9月 29 分类:  51次浏览 | 用户: 名字取好了 才疏学浅 (15 分)

1个回答

0 投票
您好,目前没有开接口自己手动规划路线,如果导航偏移路线,底层是会自动规划新路线的。设置导航偏移容限接口:navigation2.setDeviateTolerance(double tolerance)
9月 30 用户: 董懿鑫 登峰造极 (8,588 分)
你好,如果没有偏移路线,但是由于导航过程中我需要动态的规避某些障碍点,所以可能出现障碍点变化的时候,路径也要随之变化,此时对于正在导航中的情况来说,如何更新到新的导航路径呢?
您好,导航过程中没法动态去添加障碍点了。只能是偏移路线后重新规划
您好,如果要实现在导航过程中动态的添加障碍点并重新规划路径这样的需求,请问有没有什么好的方案建议呢?

我这边试过一种方案:

导航中遇到需要动态规避的障碍点,此时先添加障碍点进行一次路径分析,然后拿此分析结果与正在导航用的路径结果进行一次对比,若果路径不同,则stop掉当前的导航,然后再次进行一次路径分析并开启新的导航。

但是这种方案会有问题,第一:导航过程中stop掉,然后不能马上start导航,必须延迟一段时间才能再次start导航,第二:如果频繁的在导航过程中调用路径分析api,会莫名导致导航出问题停止,但是没有任何error报错信息
这种需求只能是停止导航后重新进行路径分析再进行导航,导航过程中没法直接重新设置新的路线,除非是偏离原有的导航路线系统自己重新规划
那在导航进行过程中,不停止当前导航,然后继续调用路径分析的api的时候,导航会卡住动不了,也无法结束掉,也无法继续导航,请问这会是什么原因导致的呢?
您好,您那种操作逻辑是不支持的哈,需要先停止导航再进行路径分析,然后重新进行导航
...