Skip to content

交互管理器

对交互进行管理操作

ts
  interface InteractiveManager {
    add(interactive: InteractiveItem): void
    close(interactive: InteractiveItem): void
    clean(): void
    getOlMap(): OlMap
    getContainer(): Container
    getEmitter(): emitter.Emitter
    getInteractiveItems(): InteractiveItem[]
  }
  const { interactive } = map

InteractiveManager事件

事件参数是否必填描述
addInteractiveItem添加交互项
closeInteractiveItem删除交互项
cleanundefined清空交互项
getOlMapundefined删除交互项
getContainerundefined清空交互项
getEmitterundefined删除交互项
getInteractiveItemsundefined获取当前所有的交互项

交互

交互由交互基本信息和交互事件组成,通常交互事件会通过emitter对外抛出相应的回调函数,交互项的通用事件是enable/close代表启用和停用。
有一些交互项还会有其他的交互事件

ts
  type InteractiveEvent<T extends Record<string, unknown>> = {
    enabled: boolean,
    enable(): void 
    close(): void
    destroy(): void
  } & T

  type Interactive<T extends Record<string, unknown> = Record<string, unknown>> = {
    id: number
    type: string
  } & InteractiveEvent<T>

Interactive通用事件

事件参数是否必填描述
enableundefined启用交互
closeundefined关闭交互
destroyundefined销毁交互

已有的交互插件

目前有绘制、测距、修改、移动、选择交互 每一个交互项目都是通过enable 启用, close 关闭,基本有一些特殊的交互事件

演示