fengmap.FMMap 类
FMMap 是加载场景、显示模型、遍历模型等的主类,一个页面中必须且至少包含一个FMMap对象
方法
- addLocationMarker
- clearLineMark
- coordMapToScreen
- coordScreenToMap
- drawLineMark
- fullScreenAvaliable
- getFMGroup
- getGestureEnableController
- moveTo
- openMapById
- pickFilterFunction
- removeLocationMarker
- scaleLevelIn
- scaleLevelOut
- selectNull
- setBackgroundColor
- setModelSelectColor
- setScaleLevelLimit
- storeSelect
- zoomIn
- zoomOut
属性
实例化
fengmap.FMMap
fengmap.FMMap
(
-
opts
)
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
opts
| fengmap.MapOptions | 地图配置对象 |
示例:
//初始化地图对象
//默认使用在线数据,从蜂鸟视图数据服务器加载模型数据
var map = new fengmap.FMMap({
container : document.body
});
map.openMapById(1);//打开场景id=1的模型
//根据数据实际位置加载地图
var map = new fengmap.FMMap({
container : document.body,
mapServerURL:'data/10347',
mapThemeURL : 'data/theme'
});
map.openMapById(1);//打开场景id=1的模型
addLocationMarker
addLocationMarker
(
-
lm
)
添加定位标注物
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
lm
| fengmap.FMLocationMarker | FMLocationMarker对象 |
coordMapToScreen
coordMapToScreen
(
-
x
-
y
-
z
)
fengmap.FMMapCoord
地图坐标转屏幕坐标
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
x
| Float | 地图坐标点x值 | |
y
| Float | 地图坐标点y值 | |
z
| Float | 地图坐标点z值 |
Returns:
返回fengmap.FMMapCoord 地图坐标对象
coordScreenToMap
coordScreenToMap
(
-
x
-
y
-
z
)
fengmap.FMScreenCoord
屏幕坐标转地图坐标
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
x
| Float | 地图坐标点x值 | |
y
| Float | 地图坐标点y值 | |
z
| Float | 地图坐标点z值 |
Returns:
返回fengmap.FMScreenCoord 地图坐标对象
fullScreenAvaliable
fullScreenAvaliable
()
Bool
获取浏览器支持全屏显示状态
Returns:
true支持,false不支持。返回true时才能使用fullScreen属性设置全屏
getFMGroup
getFMGroup
(
-
groupID
)
fengmap.FMGroup
获取某一层模型数据
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
groupID
| Number | 模型id |
Returns:
返回group对象
getGestureEnableController
getGestureEnableController
()
fengmap.GestureEnableController
只读
获取手势绘制类
Returns:
返回GestureEnableController对象
moveTo
moveTo
(
-
opts
)
视野中心移动到指定位置,如果不是当前聚焦层,将先设置目标层为聚焦层在跳转
参数:
名称 | 类型 | 标记 | 描述 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
opts
| JSON |
|
openMapById
openMapById
(
-
sid
)
根据senceid打开模型
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
sid
| String | Number | 场景id |
pickFilterFunction
pickFilterFunction
(
-
fm
)
Bool
拾取物体的过滤方法,可以自定义进行覆盖。可以根据返回的fm属性自定义设置某地图元素可否选中。
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
fm
| JSON | 拾取的物体的 fm 数据 |
Returns:
bool值,是否支持点击高亮。true支持点击高亮,false不支持高亮
示例:
//过滤不允许点击的地图元素,设置为true为允许点击,设置为false为不允许点击
map.pickFilterFunction = function(event) {
//如设置点击墙模型时不高亮
if(event.nodeType == fengmap.FMNodeType.MODEL &&
event.typeID == "300000") {
return false;
}
return true;
};
removeLocationMarker
removeLocationMarker
(
-
lm
)
移除定位标注物
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
lm
| fengmap.FMLocationMarker | FMLocationMarker对象 |
scaleLevelIn
scaleLevelIn
()
模型放大。按级别放大,每次放大1级
scaleLevelOut
scaleLevelOut
()
模型缩小。按级别缩小,每次缩小1级
selectNull
selectNull
()
清空选中模型方法,把所有高亮的模型都取消高亮
setBackgroundColor
setBackgroundColor
(
-
color
-
alpha
)
设置背景颜色及透明度
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
color
| Int | 十六进制颜色值或CSS颜色样式: 0xFF0000 | '#FF0000' | |
alpha
| Float | 透明度。在0 ~ 1之间取值。 |
setModelSelectColor
setModelSelectColor
(
-
color
-
alpha
)
设置模型的拾取颜色
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
color
| Color | 十六进制颜色值或CSS颜色样式: 0xFF0000 | '#FF0000' | |
alpha
| Float | 透明度。在0 ~ 1之间取值。 |
setScaleLevelLimit
setScaleLevelLimit
(
-
minLevel
-
maxLevel
)
限制最大最小级别
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
minLevel
| Int | 0~6之间取值 | |
maxLevel
| Int | 0~6之间取值 |
storeSelect
storeSelect
(
-
model
-
isSelected
-
multiSelect
)
选中模型方法
参数:
名称 | 类型 | 标记 | 描述 |
---|---|---|---|
model
| fengmap.FMModel | 模型对象 | |
isSelected
| Boolean | 是否选中 | |
multiSelect
| Boolean | 是否保持上一次选中模型的状态。false是不保存,即地图中只有当前设置的模型高亮,其他模型不高亮。ture则不清空上次的选中状态,都高亮。 |
zoomIn
zoomIn
()
模型放大。无极缩放,和当前的saclelevel无关
zoomOut
zoomOut
()
模型缩小。无极缩放,和当前的saclelevel无关
backgroundColor
Int
模型视窗的背景色
focusGroupID
Number | Object
设置groupId相关楼层为当前楼层,支持只传楼层id,或Json对象
默认值:
第一层
示例:
//方式1:设置聚焦层
map.focusGroupID = 1;
//方式2:设置gid=1的楼层为当前聚焦层,且单次切换楼层的动画时间为0。
map.focusGroupID = {gid: 1, time: 0}
fullScreen
Boolean
设置模型窗口全屏状态
默认值:
false
groupIDs
Array
获取当前模型的所有楼层ID集合
layerLocalHeight
Int
只读
地图针对楼层高度的偏移量,坐标转换的时候z值需要楼层高度+此偏移
lineStyle
JSON
设置线样式,包含颜色、线宽、动画的实体和间隔长度。
默认值:
{color: 0xff0000,lineWidth: 8,alpha: 0.8,dash: {size: 1,gap: 1,}}
属性值详情:
-
json对象。
JSON
maxScaleLevel
Int
设置地图的最大显示级别,取值为0-6之间的整数。
maxX
Float
获取地图范围的最大X值
maxY
Float
获取地图范围的最大Y值
minScaleLevel
Int
设置地图的最小显示级别,取值为0-6之间的整数。
minX
Float
获取地图范围的最小X值
minY
Float
获取地图范围的最小Y值
rotateAngle
Float
旋转度,取值范围 -360 - 360,正为顺时针,负为逆时针
scaleLevel
Int
设置地图的显示级别,取值为0-6之间的整数,值越小表示地图越大。
searchAnalyser
fengmap.FMSearchAnalyser
只读
获取查询类,使用此类可根据ID,GroupID ,KeyWord, name等查询模型、公共设施、自定义标注等地图元素。
showCompass
Boolean
指南针
默认值:
false
themeName
String
设置主题名称,设置在openMapById方法之前,或在LoadComplete事件之后设置
默认值:
2001
示例:
map.themeName = '2001';
tiltAngle
Float
倾斜度,取值范围 0 - 60
viewMode
Enum
设置模型显示模式 二维/三维
默认值:
fengmap.FMViewMode.MODE_3D
示例:
map.viewMode = fengmap.FMViewMode.MODE_3D; //三维模式
map.viewMode = fengmap.FMViewMode.MODE_2D; //二维模式
visibleGroupIDs
Array
设置可见的楼层集合
loadComplete
模型加载完成事件
示例:
map.on('loadComplete', function(event) {
console.log('loadComplete', event);
});
mapClickNode
模型点击事件
示例:
map.on('mapClickNode', function(event) {
console.log('mapClickNode', event);
var d = {
type: event.nodeType, //拾取地图元素类型
id: event.ID, //拾取地图元素ID
name: event.name, //拾取地图元素名称
gid: event.groupID, //拾取地图元素楼层ID
x: event.x, //拾取地图元素中心点坐标
y: event.y,
z: event.z
};
});