Skip to content

FMapState 状态

FMapState 响应式地跟踪地图实时状态(当前楼层、缩放、中心点、视角、楼层列表等),支持订阅/取消订阅,React 侧通过 useFMapState 消费。

快照结构

ts
interface FMapStateSnapshot {
  mapID: string;
  currentLevel: number;   // 当前楼层
  focusLevel: number;     // 聚焦楼层
  viewMode: '2d' | '3d' | 'unknown';
  zoomValue: number;
  center: { x: number; y: number };
  rotation: number;
  tiltAngle: number;
  floors: StateFloorInfo[];
  loaded: boolean;        // 地图是否加载完成
  locked: boolean;
}

订阅状态

ts
const unsubscribe = fmap.state.subscribe((snapshot) => {
  console.log('当前楼层:', snapshot.currentLevel, '缩放:', snapshot.zoomValue);
});

// 不再需要时取消订阅
unsubscribe();

getSnapshot() 获取当前快照,update(partial) 合并更新,reset() 恢复初始状态。

相关示例

基于蜂鸟视图 Fengmap SDK 构建