百度地图API路径规划回调返回成功但路线不显示怎么办?

公孙伊芃 阅读 48

在用百度地图API做路径规划时,调用direction.search后回调里提示success,但地图上就是不显示路线。我检查了起点终点坐标没问题,覆盖物数组也清空了。

这是我的核心代码:


const map = new BMapGL.Map('map');
const direction = new BMapGL.DirectionSearch(map);

direction.search(
  { origin: '39.904003,116.407483', 
    destination: '31.230416,121.473703' }, 
  (res) => {
    if (res && res.routes) {
      const points = res.routes[0].path;
      const polyline = new BMapGL.Polyline(points, {strokeColor:'blue'});
      // 这里是不是漏了添加到地图?
    }
  }
);

我已经调用了map.clearOverlays(),并且确认地图容器能正常显示基础地图。控制台也没有报错,就是路线完全看不到,求大神指指点点!

我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
世豪🍀
确实是漏了把路线添加到地图上,补充这行代码就能解决问题:
map.addOverlay(polyline);

顺带检查一下points是否真的有数据,没数据的话路线自然也显示不出来。对了,建议把polyline的宽度设大一点,比如{strokeColor:'blue', strokeWeight:3},不然可能线太细看不清。
点赞 10
2026-01-30 22:01