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 设置线宽
godColor
string 设置FMARROW线型线的颜色,十六进制颜色值。如:'#FF0000'。
godEdgeColor
boolean 设置FMARROW线型线边线的颜色,十六进制颜色值。如:'#FF0000'
noAnimate
boolean 设置导航线的动画。【 true 】开启,【 false 】关闭
alpha
boolean 先透明度设置。0~1之间取值
dash
json 分割线效果配置
Name Type Description size
number 分割线的长度
gap
number 分割线后的每两条线的间隔
Example
var _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 比例尺 -
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。
-
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。
-
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。
-
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数组。