drivingRoute.search()有数据但地图不画线,根本原因是数据格式、坐标系、平台初始化三者未对齐:百度返回{point:{lng,lat}}需转为[{longitude,latitude}],WGS84坐标须转BD09,且H5/小程序/App三端DrivingRoute初始化方式完全不同。
drivingRoute.search() 返回了数据但地图不画线,这是最常卡住的地方。根本原因不是 API 调用失败,而是数据格式、坐标系、平台初始化三者没对齐——任一环节错,路线就消失。
为什么 drivingRoute.search() 有数据却没 polyline
百度 sdk 返回的路径点结构是 {point: {lng: xxx, lat: xxx}} 数组,而 uni-app 的 <map></map> 组件只认 [{longitude: xxx, latitude: xxx}] 格式;颜色、宽度等样式字段也不能直接用百度的 strokecolor 或 strokeweight,必须手动塞进 polyline 对象的 color 和 width 字段里。
常见错误现象:
- 控制台打印出完整
routes[0].path,但<map></map>上空空如也 - 路线偏移几百米(坐标系未转换)
- 小程序里报
undefined is not a function(插件未正确初始化)
实操建议:
- 用
map.polyline = [{ points: convertedPoints, color: '#007AFF', width: 6 }]替换原始赋值逻辑 -
convertedPoints必须是[{longitude, latitude}]结构,不能带point嵌套层 - 别漏掉
color和width,否则默认为透明或 0px
H5 / 小程序 / App 三端 DrivingRoute 初始化写法完全不同
同一个类名,在三端不能复用初始化代码。混用会导致运行时直接报错,且错误提示模糊(比如 DrivingRoute is not a constructor)。
实操要点:
- H5 端:先动态加载
https://api.map.baidu.com/api?v=3.0&ak=xxx(必须 HTTPS),再new BMapGL.DrivingRoute(mapInstance) - 微信小程序:必须用插件市场里的
uni-baidu-map,search()参数只能传from和to字符串地址,不支持坐标直传 - App 端(Android/iOS):依赖
@dcloudio/uni-plugin-baidu-map,search()接收的是{latitude, longitude}对象,起点终点都必须传,缺一不可
WGS84 → BD09 坐标系转换不能跳过
手机 uni.getLocation({type: 'wgs84'}) 拿到的是 WGS84 坐标,百度地图只认 BD09。不转,哪怕参数全对、API 调通,画出来的路线也会漂在空中,偏移 300 米以上。
调用百度PaddleOCR‑VL大模型API,支持PDF、Word、PPT、图片等多格式文档解析,精准识别印刷体、手写体、表格、公式、图表、印章等复杂元素,支持100+语言,可处理不规则布局和跨页长文档。触发词:文档解析、VLM解析、大模型OCR、PaddleOCR、多模态文档、手写识别、公式识别、复杂版面。
实操建议:
- 从
uni.getLocation拿到原始坐标后,必须调用百度官方coordTrans工具,或自己封装wgs84ToBd09函数 - 别用网上随手搜的“通用转换函数”,百度有专用算法,其他转换库精度不够
- 转换必须在调用
drivingRoute.search()前完成,不能塞进回调里再转
搜索和规划必须分两步走,不能合并在一个调用里
「搜地点 + 规划路线」这两个动作必须拆开:先用 LocalSearch 或 PlaceSearch 拿到目标 POI 的经纬度,再把坐标喂给 DrivingRoute。试图用地址字符串直接传给 drivingRoute.search(),在 H5、小程序、App 三端都会失败。
常见错误现象:
- 小程序里
search('北京西站', '首都机场')直接静默失败 - H5 控制台报
Invalid request parameters但没说明哪错 - App 端返回空路线,
result.routes是空数组
实操建议:
- 先调
localSearch.search(keyword),取result[0].point得到坐标 - 再用转换后的 BD09 坐标调
drivingRoute.search(startPoint, endPoint) - 搜索时务必传
bounds(用当前定位构造的矩形范围),否则默认全国搜,结果不准


















