Skip to content

@indoor-map/fmap-jsDocs


地图实时状态类

使用方式:

typescript
// 订阅状态变化
const unsubscribe = fmap.state.subscribe((snapshot) => {
  console.log('当前楼层:', snapshot.currentLevel);
  console.log('地图中心:', snapshot.center);
});

// 读取当前状态(不可变快照)
const current = fmap.state.getSnapshot();

// 取消订阅
unsubscribe();

Constructors

new FMapState()

new FMapState(initial?): FMapState

Parameters

initial?: Partial<FMapStateSnapshot>

Returns

FMapState

Accessors

listenerCount

Get Signature

get listenerCount(): number

获取当前监听器数量

Returns

number

Methods

dispose()

dispose(): void

Internal

销毁,清除所有监听器

Returns

void


getServerSnapshot()

getServerSnapshot(): FMapStateSnapshot

获取当前状态快照(同 getSnapshot,兼容旧用法)

Returns

FMapStateSnapshot

Deprecated

请使用 getSnapshot()


getSnapshot()

getSnapshot(): FMapStateSnapshot

获取当前状态快照 返回内部缓存的同一引用(内容变化时才会替换为新对象), 引用稳定可安全用于 useSyncExternalStore;调用方不应修改返回的对象

Returns

FMapStateSnapshot


notify()

notify(): void

Internal

强制通知所有监听器(即使状态未变化) 用于外部直接修改了 SDK 状态但 FMapState 未感知的场景

Returns

void


reset()

reset(): void

Internal

重置为默认状态

Returns

void


subscribe()

subscribe(listener): () => void

订阅状态变化

Parameters

listener: StateListener

监听回调,状态变化时触发,参数为最新快照

Returns

Function

取消订阅函数

Returns

void


update()

update(partial): void

Internal

批量更新状态并通知监听器 仅在值真正变化时才通知

Parameters

partial: Partial<FMapStateSnapshot>

Returns

void

基于蜂鸟视图 Fengmap SDK 构建