路线规划
10.1 驾车路线
const driving = new sdk.Driving({map,policy:sdk.DrivingPolicy.LEAST_TIME});
const routeResult = await driving.search(
[100.02228,21.67623],[100.03,21.68],
{waypoints:[]}
);
for(const route of routeResult.routes) console.log(route.distance,route.time,route.path,route.steps);
DrivingPolicy.LEAST_TIME 对应 TIME,LEAST_DISTANCE 对应 DISTANCE。只提供这两类策略,不接受任意高德数字策略。途经点通过 search 第三参数 waypoints;setAvoidPolygons、setAvoidRoad 配置避让,对应 get/clear 方法读取与清除。
路线约束需匹配后台能力。途经点最多 16 个;JS 避让区域最多 3 个、每个 3–16 点;避让道路名称最多 200 字符。非空 setAvoidRoad 会清空区域,非空 setAvoidPolygons 会清空道路,两类约束互斥。步行不支持途经点及这些驾车约束。服务不支持时处理失败,不将忽略约束视为成功。
10.2 步行路线
const walking = new sdk.Walking({map});
const walkResult = await walking.search([100.02228,21.67623],[100.03,21.68]);
console.log(walkResult.routes);
Walking 使用独立步行路线服务,不通过降低驾车速度模拟。服务器必须开放对应规划接口;本版不提供骑行。
10.3 路线结果
| 字段 | 类型 / 单位 | 说明 |
|---|---|---|
| routes | Route[] | 结果路径列表,不承诺一定返回多条备选 |
| routeId / datasetVersion | string | 路线标识及数据版本 |
| distance / time | 米 / 秒 | 总路程及预计耗时 |
| path | LngLat[] | 公开坐标系的折线 |
| steps | RouteStep[] | 道路分段 |
| mode | preview | 路线预览,不是导航会话 |
| travelMode | driving / walking,可选 | 出行方式 |
| instruction / displayInstruction | string,可选 | 原始/显示提示,取决于服务返回 |
| startIndex / endIndex | number | 步骤在 path 中的索引 |
clear() 清除服务绘制的路线;destroy() 释放服务。业务不应依赖渲染器内部图层 ID。