@indoor-map/fmap-js • Docs
地图核心类 负责地图的初始化、生命周期管理和基础视图控制
Constructors
new FMap()
new FMap(
options):FMap
Parameters
• options: FMapOptions
Returns
Accessors
FMType
Get Signature
get FMType():
object
获取 SDK FMType 枚举(要素类型常量)
Returns
object
FMType 枚举对象
BUILDING
BUILDING:
number
CAD_LAYER
CAD_LAYER:
number
COMPOSITE_MARKER
COMPOSITE_MARKER:
number
DOM_MARKER
DOM_MARKER:
number
DYNAMIC_MODEL
DYNAMIC_MODEL:
number
EXTERNAL_MODEL
EXTERNAL_MODEL:
number
EXTRUDE_MARKER
EXTRUDE_MARKER:
number
FACILITY
FACILITY:
number
FIRE_MARKER
FIRE_MARKER:
number
GROUND_LAYER
GROUND_LAYER:
number
HEATMAP
HEATMAP:
number
IMAGE_MARKER
IMAGE_MARKER:
number
LABEL
LABEL:
number
LINE_MARKER
LINE_MARKER:
number
LINE3D_MARKER
LINE3D_MARKER:
number
LOCATION_MARKER
LOCATION_MARKER:
number
MAP_MASK
MAP_MASK:
number
MODEL
MODEL:
number
POLYGON_MARKER
POLYGON_MARKER:
number
SPHERE_MARKER
SPHERE_MARKER:
number
TEXT_MARKER
TEXT_MARKER:
number
THREED_TILES_LAYER
THREED_TILES_LAYER:
number
TILE_LAYER
TILE_LAYER:
number
TUBE_MARKER
TUBE_MARKER:
number
WALL_MARKER
WALL_MARKER:
number
isDisposed
Get Signature
get isDisposed():
boolean
是否已销毁
Returns
boolean
isLoaded
Get Signature
get isLoaded():
boolean
是否已加载完成
Returns
boolean
state
Get Signature
get state():
FMapState
获取地图实时状态对象 可通过 subscribe 订阅状态变化,或通过 getSnapshot 读取当前快照
Returns
Methods
coordMapToScreen()
coordMapToScreen(
x,y,z?,level?):object
地图坐标转屏幕坐标
Parameters
• x: number
地图 X 坐标
• y: number
地图 Y 坐标
• z?: number
高度
• level?: number
楼层
Returns
object
屏幕坐标
x
x:
number
y
y:
number
coordScreenToMap()
coordScreenToMap(
x,y,options?):object
屏幕坐标转地图坐标
Parameters
• x: number
屏幕 X 坐标
• y: number
屏幕 Y 坐标
• options?: Record<string, unknown>
选项
Returns
object
地图坐标
x
x:
number
y
y:
number
disableUpdateRender()
disableUpdateRender():
void
禁用渲染更新
Returns
void
dispose()
dispose():
void
释放地图资源 销毁地图实例,释放所有资源
Returns
void
enableUpdateRender()
enableUpdateRender():
void
启用渲染更新
Returns
void
focusTo()
focusTo(
options):void
高层 moveTo:切到目标楼层、切 2D、居中,并按“目标点周边半径”自适应缩放(瞬间完成)。
Parameters
• options: FocusToOptions
focusTo 配置
Returns
void
getBound()
getBound():
FMBound
获取地图范围
Returns
FMBound
地图范围
getCenter()
getCenter():
object
获取地图中心点
Returns
object
中心点坐标
x
x:
number
y
y:
number
getFloor()
getFloor(
level):FMFloor
获取楼层对象
Parameters
• level: number
楼层级别
Returns
FMFloor
楼层对象
getFloorInfos()
getFloorInfos():
unknown[]
获取所有楼层信息
Returns
unknown[]
楼层信息数组
getLevel()
getLevel():
number
获取当前楼层级别
Returns
number
楼层级别
getMap()
getMap():
FMMap
获取底层 SDK 地图实例
Returns
FMMap
SDK 地图实例
getOptions()
getOptions():
FMapOptions
获取配置选项
Returns
当前配置
getState()
getState():
unknown
获取地图状态
Returns
unknown
地图状态
getViewMode()
getViewMode():
number
获取当前显示模式
Returns
number
显示模式
getZoomValue()
getZoomValue():
number
获取当前缩放级别
Returns
number
缩放级别
init()
init(
mapID?,container?):Promise<FMMap>
初始化地图 创建底层 SDK 地图实例并加载地图数据
Parameters
• mapID?: string
地图ID,可选,不传则使用构造时的 mapID
• container?: string | HTMLElement
可选,覆盖构造时的容器参数(支持 HTMLElement 或 CSS 选择器字符串)
Returns
Promise<FMMap>
Promise,加载完成后 resolve
moveTo()
moveTo(
options):void
移动地图到指定位置 通过 setState 实现(SDK 无 moveTo 方法)
Parameters
• options
移动选项
• options.animate?: boolean
• options.duration?: number
• options.finish?
• options.rotation?: number
• options.tiltAngle?: number
• options.x?: number
• options.y?: number
• options.zoomValue?: number
Returns
void
off()
off(
type,callback?):void
移除事件监听
Parameters
• type: string
事件类型
• callback?: EventCallback
回调函数,不传则移除该类型所有监听
Returns
void
on()
on(
type,callback):void
监听地图事件
Parameters
• type: string
事件类型: loaded, click, mousemove, levelChanged, viewChanged, floorSpaceChanged, update, visibleFloorLoaded 等
• callback: EventCallback
回调函数
Returns
void
resetView()
resetView(
animate):void
重置视图到初始状态 恢复旋转角度、倾斜角度、缩放级别到初始值
Parameters
• animate: boolean = true
是否使用动画,默认 true
Returns
void
setDevicePixelRatio()
setDevicePixelRatio(
dpr):void
设置设备像素比
Parameters
• dpr: number
设备像素比
Returns
void
setHighlightColor()
setHighlightColor(
color):void
设置高亮颜色
Parameters
• color: string
颜色值
Returns
void
setRotation()
setRotation(
rotation,animate,duration):void
设置旋转角度
Parameters
• rotation: number
旋转角度(0-360)
• animate: boolean = true
是否动画
• duration: number = 0.3
动画时长(秒)
Returns
void
setState()
setState(
state,options?):void
设置地图状态
Parameters
• state: Record<string, unknown>
状态对象
• options?: Record<string, unknown>
动画选项
Returns
void
setTiltAngle()
setTiltAngle(
tiltAngle,animate,duration):void
设置倾斜角度
Parameters
• tiltAngle: number
倾斜角度(0-90)
• animate: boolean = true
是否动画
• duration: number = 0.3
动画时长(秒)
Returns
void
setViewMode()
setViewMode(
mode,animate,_duration):void
设置显示模式
Parameters
• mode: number
显示模式,FMViewMode.MODE_2D(4) 表示 2D,FMViewMode.MODE_3D(2) 表示 3D
• animate: boolean = true
是否动画
• _duration: number = 0.2
Returns
void
setZoomValue()
setZoomValue(
value,animate):void
设置缩放级别
Parameters
• value: number
缩放级别
• animate: boolean = true
是否动画
Returns
void
zoomIn()
zoomIn():
void
放大地图
Returns
void
zoomOut()
zoomOut():
void
缩小地图
Returns
void
isSDKLoaded()
staticisSDKLoaded():boolean
检查 fengmap SDK 是否已加载
Returns
boolean
是否已加载