步行路线规划
使用 sdk.Walking 查询徒步路线。它请求独立步行规划,不通过减慢汽车速度模拟。持续转向和语音使用步行导航。
完整调用片段
页面准备地图容器和 SDK 样式,配置已登记网页 Origin 的 WEB Key。以下采用 npm / ESM;浏览器编译版使用 SukhaSDK.load(...)。
import {load} from '@sukha/maps';
const sdk = await load({key:'YOUR_WEB_KEY', serviceBaseUrl:'https://map.sukha.cn',
datasetId:'shan', language:'zh-CN'});
const map = new sdk.Map('map', {center:[100.02228,21.67623], zoom:16});
const walking = new sdk.Walking({map});
let alive = true;
async function planWalking(origin, destination) {
try {
const result = await walking.search(origin, destination);
if (!alive) return;
const route = result.routes[0];
if (!route) { console.log('暂无可用步行路线'); return; }
console.log('步行距离(米)', route.distance, '预计耗时(秒)', route.time);
return route;
} catch (error) { if (alive) console.error(error.code, error.message, error.requestId); }
}
void planWalking([100.02228,21.67623], [100.024,21.678]);
window.addEventListener('pagehide', () => {
alive = false; walking.destroy(); map.destroy();
}, {once:true});
与驾车规划的差别
| 项目 | 步行 |
|---|---|
| 接口 | new sdk.Walking(...),不要复用 Driving 查询后修改标签 |
| 起终点顺序 | [longitude, latitude];默认 WGS84 |
| 时间 | 步行规划结果的 route.time,单位秒 |
| 途经点与避让 | 不提供驾车的途经点、区域避让和道路避让 |
| 没有路线 | 提示用户改选步行可达入口,不自动替换成汽车路线 |
| 骑行业务 | 未提供独立骑行规则;采用步行方案时须明确说明限制 |
result.routes[0] 只用于预览。开启导航时使用 WalkingNavi.calculateWalkRoute(...),由用户点击开始并获取真实定位;完整 HTML + JS 案例见步行导航教程。