FMapNavigation 导航
FMapNavigation 封装步行/驾车路径规划,支持多途经点、模拟行走与行走过程回调。
导航点
ts
interface NavigationPoint {
level: number; // 楼层
x: number; // 地图 X 坐标
y: number; // 地图 Y 坐标
url?: string; // 定位图标
size?: number; // 图标大小
height?: number; // 离地高度
}规划路线
ts
const nav = new FMapNavigation(fmap);
const result = await nav.route({
start: { level: 1, x: 121.23, y: 31.02 },
end: { level: 2, x: 121.30, y: 31.10 },
viapoints: [{ level: 1, x: 121.26, y: 31.05 }], // 可选途经点
mode: 0, // 导航模式
priority: 1, // 电梯/扶梯优先级
fromDoors: true,
});返回 NaviResult,包含路径、分段(subs)、步行信息等。
途经点管理
| 方法 | 说明 |
|---|---|
addViapoint(point) / removeViapoint(index) | 添加 / 移除途经点 |
getViapoints() / clearViapoints() | 获取 / 清空途经点 |
onViapointsChange(cb) | 途经点变化回调 |
模拟行走
ts
nav.onWalking((info) => console.log('剩余', info.remain, '米'));
nav.onComplete(() => console.log('到达终点'));
nav.startSimulation({ speed: 2 }); // 模拟行走
nav.stopNavigation(); // 停止
nav.clear(); // 清空| 方法 | 说明 |
|---|---|
route(options) | 规划路线 |
startSimulation(options?) / stop() | 开始 / 停止模拟行走 |
onWalking(cb) / onComplete(cb) | 行走过程 / 完成回调 |
stopNavigation() / clear() | 停止导航 / 清空 |
setLocationMarker(url, size) | 设置当前位置图标 |
setObstructions(list) | 设置障碍物 |
setPassedLineDistance(d) | 设置已通过路线距离 |