new fengmap.FMMap(options)
FMMap 是加载场景、显示模型、遍历模型等的主类,一个页面中必须且至少包含一个FMMap对象
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
json |
|
Members
-
backgroundColorint
-
模型视窗的背景色 不可读
Properties:
Name Type Description backgroundColor
-
readonlycenter
-
获取地图中心点
Properties:
Name Type Description center
json 返回地图坐标vector2
-
focusGroupID
-
当前视线锁定的楼层, 需要注意groupID有效, 防止引起不必要的错误。
Properties:
Name Type Description focusGroupID
number 楼层id
-
fullScreen
-
全屏设置
Properties:
Name Type Description 是否全屏
bool -
gestureEnableController
-
获取地图的手势控制类
Properties:
Name Type Description 获取地图手势控制类
fengmap.FMMapGestureEnableController -
readonlygroupIDs
-
获取当前地图的所有楼层groupID的集合
Properties:
Name Type Description groupIDs
array -
groupSpace
-
楼层间距
Properties:
Name Type Description groupSpace
number 楼层间距
-
hoverFilterFunction
-
过滤设置可悬停拾取函数。可通过过滤设置模型的可悬停拾取和不可悬停拾取。
Properties:
Name Type Description hoverFilterFunction
function 该方法返回true表示支持悬停拾取,false表示不可悬停拾取
Example
map.hoverFilterFunction = function (event) { if (event.nodeType === fengmap.FMNodeType.MODEL && event.typeID === 300000) { return false; //不支持悬停 } if (event.nodeType === fengmap.FMNodeType.FLOOR) { return false; //不支持悬停 } return true; //支持悬停 };
-
labelLanguage
-
当前store标注用的语言类型
Properties:
Name Type Description labelLanguage
fengmap.FMLanguageType "ZH"代表中文,"EN"代表英文
-
mapScale
-
地图缩放比例
Properties:
Name Type Description mapScale
number 表示当前的比例尺为: 1:mapScale
-
mapScaleLevel
-
设置地图缩放等级
Properties:
Name Type Description mapScaleLevel
number -
maxScale
-
最大缩放比例
Properties:
Name Type Description maxScale
number -
maxScaleLevel
-
最大缩放等级
Properties:
Name Type Description maxScaleLevel
number -
maxTitleAngle
-
maxTitleAngle
Properties:
Name Type Description maxTitleAngle
number 地图的最大倾斜角度
-
readonlymaxX
-
获取地图坐标x轴最大值
Properties:
Name Type Description maxX
number -
readonlymaxY
-
获取地图坐标y轴最大值
Properties:
Name Type Description maxY
number -
minScale
-
最小缩放比例
Properties:
Name Type Description minScale
number -
minScaleLevel
-
最小缩放等级
Properties:
Name Type Description minScaleLevel
number -
minTitleAngle
-
minTitleAngle
Properties:
Name Type Description minTitleAngle
number 地图的最小倾斜角度
-
readonlyminX
-
获取地图坐标x轴最小值
Properties:
Name Type Description minX
number -
readonlyminY
-
获取地图坐标y轴最小值
Properties:
Name Type Description minY
number -
pickFilterFunction
-
过滤设置可点击拾取函数。可通过过滤设置模型的可点击拾取和不可点击拾取。
Properties:
Name Type Description pickFilterFunction
function 该方法返回true表示支持点击拾取,false表示不可点击拾取
Example
//过滤不允许点击的地图元素,设置为true为允许点击,设置为false为不允许点击 map.pickFilterFunction = function(event) { //如设置点击墙模型时不高亮 if(event.nodeType == fengmap.FMNodeType.MODEL && event.typeID == "300000") { return false; } return true; };
-
rotateAngle
-
rotateAngle
Properties:
Name Type Description rotateAngle
number 旋转度,取值范围 -360 - 360
-
readonlyscaleLevel
-
当前缩放等级
Properties:
Name Type Description scaleLevel
number 默认范围为:16 - 23
-
showCompass
-
是否显示指北针
Properties:
Name Type Description showCompass
bool 默认值:false。
-
themeName
-
主题设置
Properties:
Name Type Description themeName
string 主题名如"2002"、"2003",默认值:‘2001’
-
tiltAngle
-
倾斜度
Properties:
Name Type Description tiltAngle
float 取值范围 minTitleAngle - maxTitleAngle
-
viewMode
-
视图模式
Properties:
Name Type Description viewMode
fengmap.FMViewMode FMViewMode类型。默认值:fengmap.FMViewMode.MODE_3D
-
visibleGroupIDs
-
设置可见的楼层集合
Properties:
Name Type Description visibleGroupIDs
array 例:[1,2,3]
Methods
-
addLocationMarker(marker)
-
添加locationMarker
Name Type Description marker
fengmap.FMLocationMarker locationMarker实例
-
callAllLayersByAlias(alias, back)
-
根据别名遍历对应layer
Name Type Description alias
string 别名,供设置的值有:'extent' | 'model' | 'label' | 'facility' | 'textMarker' | 'imageMarker' | 'externalModel'
back
fucntion 回调函数
Name Type Description layer
object 回调返回参数,查询到的某一楼层的图层
-
clearLineMark(marker)
-
清除路径线
Name Type Description marker
undefined | array.<fengmap.FMLineMarker> 可选。如不传该参数表示移除所有FMLineMarker,如果为数组则移除数组内的FMLineMarker。
-
coordMapToScreen(x, y, z)
-
地图坐标转屏幕坐标
Name Type Description x
number 地图坐标x
y
number 地图坐标y
z
number 高度z
-
coordScreenToMap(x, y, z, isFloat, giveMeRaw){json}
-
屏幕坐标转地图坐标
Name Type Description x
number 屏幕x值
y
number 屏幕y值
z
number 地图高度
isFloat
bool 是否使用屏幕像素坐标系 默认false
giveMeRaw
bool 是否返回三维空间坐标 默认false
Returns:
Type Description json 返回对应的地图坐标 -
dispose()
-
释放内存
-
drawLineMark(line, style)
-
画出线
Name Type Description line
fengmap.FMLineMarker FMLineMarker对象
style
json 线形的样式
Name Type Description lineType
fengmap.FMLineType 线型
color
string 只支持修改非FMARROW线型的线的颜色。
smooth
boolean 是否开启平滑线功能
lineWidth
number 设置线宽
mapUrl
string 线贴图路径
godColor
string 设置FMARROW线型线的颜色,十六进制颜色值。如:'#FF0000'。
godEdgeColor
boolean 设置FMARROW线型线边线的颜色,十六进制颜色值。如:'#FF0000'
noAnimate
boolean 设置导航线的动画。【 true 】启用关闭动画,【 false 】启用动画。
Example
let _linestyle = {color: 0xff0000,lineWidth: 8,alpha: 0.8,dash: {size: 1,gap: 1}}
-
fullScreenAvaliable(){bool}
-
检查浏览器能否全屏
Returns:
Type Description bool ture表示支持全屏 -
getDatasByAlias(gid, alias, filter){array}
-
根据类型别名获取指定楼层上面的某图层数据
Name Type Description gid
number 楼层id
alias
string 别名,供设置的值有:'extent' | 'model' | 'label' | 'facility' | 'textMarker' | 'imageMarker' | 'externalModel'
filter
function 过滤函数
Returns:
Type Description array 地图元素数据 -
getFMGroup(gid){fengmap.FMGroup}
-
通过id获取对应楼层对象
Name Type Description gid
number 楼层id
Returns:
Type Description fengmap.FMGroup -
getLayerByAlias(gid, alias, back){array}
-
获取对应楼层别名为alias的layer
Name Type Description gid
number 楼层id
alias
string 图层别名,供设置的值有:'extent' | 'model' | 'label' | 'facility' | 'textMarker' | 'imageMarker' | 'externalModel'
back
function 回调函数
Returns:
Type Description array layers -
getScalelevelValueByVectics(startPnt, endPnt){number}
-
根据矩形左下角坐标和右上角坐标获取地图当前的显示级别
Name Type Description startPnt
json 左下角坐标
endPnt
json 右上角坐标
Returns:
Type Description number level -
getScaleValueByVectics(startPnt, endPnt){number}
-
根据矩形左下角坐标和右上角坐标获取地图当前的显示比例尺
Name Type Description startPnt
json 左下角坐标
endPnt
json 右上角坐标
Returns:
Type Description number 比例尺 -
getSearchObjects(results)
-
返回根据搜索结果查询到的对象
Name Type Description results
Array 搜索结果数组
-
moveTo(opts)
-
地图中心移动到指定点,如果groupID和当前聚焦层不一致,会自动切换至groupID楼层,此时不要和focusGroupID组合调用。
Name Type Description opts
json Name Type Description x
float 地图坐标x值。
y
float 地图坐标y值。
z
float 地图坐标z值。
groupID
int 楼层id,跳转到指定位置,并聚焦该楼层。
time
int 目标层不是聚焦层时跳转的动画时间间隔。
callback
function 完成moveTo事件后的回调,返回目标层gid。
-
moveToCenter(gid)
-
移动地图至楼层的中心点
Name Type Description gid
int 目标楼层id。
-
off(type, back)
-
地图事件移除
Name Type Description type
* 事件类型
back
* 回调函数
-
on(type, back)
-
地图事件注册
Name Type Description type
* 事件类型
back
* 回调函数
-
openMapById(sceneId, failed)
-
通过sceneId加载地图。
Name Type Description sceneId
number 场景Id
failed
function 失败返回函数
-
removeLineMarker(marker)
-
清除某条路径线
Name Type Description marker
fengmap.FMLineMarker 移除当前的某条线FMLineMarker。
-
removeLocationMarker(marker)
-
删除locationMarker
Name Type Description marker
fengmap.FMLocationMarker locationMarker实例
-
rotateTo(param)
-
旋转到对应角度
Name Type Description param
json {to: 45, duration: 1, callback: function() {}}
Name Type Description to
number 转至角度
duration
number 动画时间
callback
function 回调函数
-
scaleLevelIn()
-
scalelevel等级降低
-
scaleLevelOut()
-
scalelevel等级提高
-
scaleLevelTo(params)
-
定位到某个级别
Name Type Description params
json Name Type Description duration
float 动画时间
level
float 缩放级别
update
float 动画执行时回掉。
opts.callback
function 完成moveTo事件后的回调,返回目标层gid。
-
scaleTo(params)
-
缩放到对应值
Name Type Description params
json Name Type Description duration
float 动画时间
scale
float 缩放值
update
float 动画执行时回掉。
opts.callback
function 完成moveTo事件后的回调,返回目标层gid。
-
screenshot(pos1, pos3, direction, rank, callback)
-
打印截图
Name Type Description pos1
number 选框左上角点坐标
pos3
number 选框右下角点坐标
direction
bool 打印纸张方向,【true】:纵向打印,【false】:横向打印。缺省为根据打印截图的宽高自动判断
rank
int 打印等级,等级越高,质量越高(1-5) 通常这个值应设置为3
callback
function 截图成功后回调函数,第1(base64),2(bolb)个参数为打印截图。第3(base64),4(bolb)个参数为框选截图
-
setBackgroundColor(color, alpha)
-
背景色与透明度设置
Name Type Description color
string | int 颜色值0xFF0000 | '#FF0000'
alpha
number 透明度,取值范围:0.0 - 1.0
-
setMapScaleLevelRange(min, max)
-
设置地图比例尺 级别 范围
Name Type Description min
number 最小等级
max
number 最大等级
-
setMapScaleRange(min, max)
-
地图缩放比例范围设置
Name Type Description min
number 最小比例
max
number 最大比例
-
setModelSelectColor(color, alpha)
-
设置模型拾取颜色
Name Type Description color
string | number 十六进制颜色值或CSS颜色样式: 0xFF0000 | '#FF0000'
alpha
number 透明度。在0 ~ 1之间取值。
-
tiltTo(params)
-
倾斜到对应角度
Name Type Description params
json {to: 45, duration: 1, callback: function() {}}
Name Type Description to
number 移动到的角度值
duration
number 动画时间
callback
function 回调函数
-
zoomIn()
-
地图动画放大
-
zoomOut()
-
地图动画缩小
Events
-
focusGroupIDChanged
-
聚焦楼层改变事件
Type:
- json
Properties:
Name Type Description type
string "focusGroupIDChanged"
gid
number 改变后的聚焦楼层goupID。
-
gltfLoaded
-
外部模型加载完成事件
-
loadComplete
-
地图加载完成事件
-
mapClickNode
-
地图点击事件。默认所有地图元素均可点击拾取,可通过fengmap.FMMap属性pickFilterFunction设置某些地图元素的不可点击拾取属性。
Type:
- json
Properties:
Name Type Description type
string "mapClickNode"
target
fengmap.FMNode 当前点击拾取到的fengmap.FMNode对象。当nodeType !== 0时,target 包含FMNode对象的属性。如下:
Properties
Name Type Description FID
string 模型的唯一编码
groupID
number 当前楼层
height
number FMNode对象的高度
typeID
number FMNode对象的类型ID
mapCoord
json 当前对象对应的中心点坐标
show
boolean 是否显示
minlevel
number 最小显示级别
maxlevel
number 最大显示级别
x
number x坐标
y
number y坐标
z
number z坐标
domEvent
MouseEvent 当前触发点击的鼠标或触摸事件,包含点击位置的屏幕坐标,domElement等信息。
eventInfo
json 封装根据当前触发点击事件计算后的一些属性。
Properties
Name Type Description domEvent
MouseEvent 当前触发点击的鼠标或触摸事件,包含点击位置的屏幕坐标,domElement等信息。
coord
json 点击位置的地图坐标。
nodeType
fengmap.FMNodeType 当前触发点击事件拾取到的结点类型。
-
mapHoverNode
-
地图hover事件,默认不开启,可通过fengmap.MapOptions中的modelHoverEffect:true开启、或通过map.hoverFilterFunction方法针对不同的模型开启hover事件。mapHoverClickNode事件的返回值和mapClickNode相同。
Type:
- json
-
mapScaleLevelChanged
-
地图级别变化时的回调。
Type:
- json
Properties:
Name Type Description type
string "mapScaleLevelChanged"
scale
number 改变后的比例尺级别。
-
scaleLevelChanged
-
地图比例尺级别变化时的回调。
Type:
- json
Properties:
Name Type Description type
string "scaleLevelChanged"
scale
number 改变后的比例尺级别。
-
visibleGroupIDsChanged
-
地图可见楼层ID发生变化时的回调。
Type:
- json
Properties:
Name Type Description type
string "visibleGroupIDsChanged"
gids
array 改变后的可见楼层ID数组。
-
visibleGroupLoaded
-
开启分层加载时,显示楼层加载完成事件