当前位置: 首页 > 知识库问答 >
问题:

javascript - 百度地图js API 3.0 如何获取多个驾车行驶路线规划?

苍嘉澍
2024-07-06

我需要获取起点坐标和终点坐标之间的多个线路规划,也就是期望是获取多个坐标数组。作为自定义路线轨迹绘制的依据数据

通过以下代码,随便选择北京三环区域左右内的两个坐标进行测试,始终只获取了一个线路规划,也就是plan.getNumRoutes()获取的数值都是1,

var options = {
  onSearchComplete: seacherEvent,
}

var test = new BMap.DrivingRoute(map, options);

seacherEvent(results) {

  if (test.getStatus() == BMAP_STATUS_SUCCESS) {

    var plan = results.getPlan(0);



    if (plan) {

      // 获取所有的规划线路
      for (var i = 0; i < plan.getNumRoutes(); i++) {
        var route = plan.getRoute(i);
        console.log(route)
      }


    }
  } else {
    // 路线不存在,提示用户
    alert('没有找到符合条件的路线,请修改搜索条件');
  }
},

test.search(startPoint, endPoint);

//测试终点和起点的两点坐标截图

debug截图

我是不是测试坐标选的有问题导致获取的只有一个线路,还是onSearchComplete里的处理没有正确?

百度地图应用本身的驾驶线路功能,获取两地的驾车线路规划也不止有一条,这是为什么,是不是获取多个线路规划实例的api需要权限和付费?

共有1个答案

高茂
2024-07-06

回答

在百度地图JavaScript API 3.0中,BMap.DrivingRoute类用于规划驾车线路,但默认情况下,它只会返回一条最优路线。要获取多个线路规划,百度地图的API并未直接提供这样的功能,因为这涉及到复杂的路线算法和计算资源。

通常,如果你需要多个线路规划作为自定义路线轨迹绘制的依据,你可能需要采取以下策略:

  1. 使用不同的起点或终点:你可以尝试稍微移动起点或终点,然后重新规划路线,以获取不同的路线方案。但这并不能保证得到完全不同的路线,特别是当起点和终点非常接近主要道路时。
  2. 自定义算法:你可以自己实现一个算法,基于现有的路线和路网数据,尝试生成不同的路线。这可能需要大量的计算资源和专业的GIS知识。
  3. 第三方服务:考虑使用提供多线路规划功能的第三方服务或API。
  4. 商业服务:如果你正在开发一个商业应用,并且需要这样的功能,你可以考虑与百度地图的商业部门联系,看看他们是否提供这样的高级功能或API。

关于你的代码,plan.getNumRoutes()返回1是因为BMap.DrivingRoute只返回了一条路线。而且,getRoute(i)方法在这个上下文中是多余的,因为你只有一个计划(plan),并且这个计划只有一条路线。

至于百度地图应用本身的驾驶线路功能为什么能够显示多条路线,这很可能是因为它在服务器端实现了更复杂的算法,并且可能使用了更多的计算资源。这样的功能通常不会直接暴露给公共API,因为它需要更多的计算和处理能力。

注意:在上面的回答中,我假设了/img/bVdc7yX/img/bVdc7zN是占位符,并没有实际的图片内容。如果你提供了具体的图片或更详细的调试信息,我可能能给出更具体的建议。

 类似资料:
  • 本文向大家介绍百度地图实现小车规划路线后平滑移动功能,包括了百度地图实现小车规划路线后平滑移动功能的使用技巧和注意事项,需要的朋友参考一下 文章目的 项目开发所需,所以结合百度地图提供的小车平滑轨迹移动,自己写的demo 实现效果 代码下载 下载链接 下面是实现的关键步骤 集成百度地图 怎么集成自然是看百度地图开发平台提供的文档。 文档连接 规划线路 看百度地图的文档,写一个规划线路的工具类(驾车

  • 我试图在两个位置之间找到驾驶方向: 我尝试过的代码: 但是这在两点之间画了一条直线。 有没有其他方法/途径可以得到这两点之间的行驶方向。

  • 一面 自我介绍 论文 自己介绍论文内容(语速偏快了)解耦如何实现是不是端到端,怎么个训练方式怎么用transformer实现的?具体输入输出是怎么做的,如何保证历史帧信息的有效利用。 问的比较深 实习 分类的数据量对比学习优化前,resnet的初始化方式(随机初始化)然后他也比较怀疑,完全随机初始化的权重,用7k的数据可以训练好一个resnet50吗有用到哪些数据增强方式,或者实际的tricks对

  • 6月底投了aidu计划,我是做搜索推荐的,不知道为什么被自动驾驶部门捞起来了…奇怪怪 7.7 一面 自我介绍 懂pytorch算子加速么?(不懂),懂计算机视觉的模型么?(不懂),那就来做题吧😂 两道题,比较常规的:leetcode合并区间,leetcode四数之和(之后做了剪枝优化) 知道什么设计模式吗?(答:单例模式、工厂模式、适配器模式等),然后问单例模式在多线程的情况下会有问题,怎么解决

  • 纪念一下今年第三次面百度自驾岗失败🤣 -------- 大概 45 分钟左右,主要内容 前 25 分钟:实习经历,蔚来和 mmt 感知具体做的啥 后 20 分钟:基本都是八股 batch normalization 是否了解? 什么是过拟合,怎么解决? C++ map 和 unordered_map 底层,什么时候用? 传统的 lidar 点云处理算法有哪些?(这道没答好,只说了聚类) 平时 C

  • 晚上7点开始面,先自我介绍接着开始深挖项目,挨个挖,把所有相关的项目都挖一遍,各种细节都问一遍,往祖坟里挖那种....(问麻了,这就45分钟过去了) 然后问八股,主要是C++的八股,刚开始还好,问一些比较基础的,什么是多态,struct和class什么区别,智能指针这些,越问越觉的不对劲,开始问知道虚指针和虚表是什么区别,c++内存空间是怎样的,反正后面这些基本不会,反正看样子是非要问到完全不会的