Skip to content

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)设置已通过路线距离

相关示例

基于蜂鸟视图 Fengmap SDK 构建