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() 恢复初始状态。
相关示例
- React Hooks 中展示了
useFMapState的用法