new fengmap.FMMap(options)
构造FMMap类
Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
FMMap可配置参数
|
Members
-
readonlybound
-
Properties:
Name Type Description bound
fengmap.FMBound 边界
Methods
-
adjustRenderOrder(array)
-
调整渲染顺序,只调整参数中传入的图层顺序,将他们的渲染顺序按照参数传入顺序调换,不影响其他。DOM_MARKE始终在最上层不支持调整顺序。
Name Type Description array
Array [fengmap.FMType]
-
autoRotate(){fengmap.FMAnimation}
-
地图围绕视图中心自动旋转
Name Type Description options.duration
number 地图旋转一周所需时间 默认 5.0 秒
options.direction
number 旋转方向, 0: 逆时针; 1:顺时针,默认0逆时针
Returns:
Type Description fengmap.FMAnimation 动画单元 Example
let animation = map.autoRotate(); animation.finish(); // 强制完成 animation.pause(); // 暂停 animation.play(); // 播放 animation.resume(); // 重置 animation.stop(); // 停止
-
changeOverviewMode(options)
-
切换全览模式
Name Type Description options
json 参数集合
Name Type Description overviewMode
fengmap.FMOverviewMode 参数集合
buildingIDs
Array 建筑ID集合
-
clearThemeExtension()
-
清空主题扩展
-
dispose()
-
废置地图对象
-
enterBuilding(options)
-
进入建筑
Name Type Description options
json 参数集合
Name Type Description buildingID
String 建筑ID
finish
function 完成回调函数
-
exitBuilding(options)
-
退出建筑
Name Type Description options
json 参数集合
Name Type Description finish
function 完成回调函数
-
getBuilding(buildingID){FMBuilding|null}
-
获取建筑
Name Type Description buildingID
string 建筑ID
Returns:
Type Description FMBuilding | null building 返回指定buildingID的建筑 -
getBuildings()
-
获取所有建筑
-
getCenter(){Object}
-
获取视图中心的地图坐标
Returns:
Type Description Object 地图坐标 -
getCollisionOrder()
-
获取部分覆盖物避让排序
Returns:
避让排序分组 -
getFloor(level){fengmap.FMFloor}
-
获取楼层
Name Type Description level
int 楼层等级
Returns:
Type Description fengmap.FMFloor 楼层 -
getFloorInfos(){Array}
-
获取所有楼层的信息
Returns:
Type Description Array -
getFloorSpace(){number}
-
获取楼层间距
Returns:
Type Description number 楼层间距 -
getInteractions(){fengmap.FMInteractions}
-
获取地图交互控制器
Returns:
Type Description fengmap.FMInteractions interactions 交互控制器 Example
let interacation = map.getInteractions(); interacation.enableDrag = true; interacation.enableRotate= true; interacation.enableTilt = true; interacation.enableZoom = true;
-
getLabelField()
-
获取label显示的字段
-
getLevel(){number}
-
获取地图聚焦楼层等级
Returns:
Type Description number level 楼层等级 -
getLevels(){Array}
-
获取地图所有楼层等级
Returns:
Type Description Array 楼层等级 -
getMarkerGroup(){Object}
-
获取地图覆盖物组
Returns:
Type Description Object 地图覆盖物组 -
getNodes(results){Array}
-
获取地图节点, 如果查询内容不存在FMNode, 返回空数组
Name Type Description results
Array 搜索查询的结果
Returns:
Type Description Array nodes 地图节点集合 -
getRenderOrder(){Array}
-
获取部分覆盖物的渲染顺序
Returns:
Type Description Array [fengmap.FMType] 渲染顺序 -
getRotation(){int}
-
获取视图旋转角度
Returns:
Type Description int 地图旋转角度 -
getScaleBarInfo(){object}
-
获取比例尺
Returns:
Name Type Description options
object 返回参数 Name Type Description screenDistance
number 比例尺在屏幕上的像素距离,单位:px actualDistance
number 比例尺所反映到现实世界的实际距离 unit
string 比例尺所反映到现实世界的实际距离的单位 -
getState(){Object}
-
获取视图状态
Returns:
Type Description Object state 地图状态码 -
getTilt(){int}
-
获取视图倾斜角度
Returns:
Type Description int 地图倾斜角度 -
getViewMode(){int}
-
获取视图模式
Returns:
Type Description int 视图模式 -
getVisibleLevels(){Array}
-
获取显示楼层
Returns:
Type Description Array arr 显示楼层数组 -
getZoom(){number}
-
获取地图当前缩放级别
Returns:
Type Description number 缩放级别 -
getZoomRange(){Array}
-
获取地图缩放级别范围
Returns:
Type Description Array 缩放级别范围 -
off(type, callback)
-
地图事件注销
Name Type Description type
string 事件类型
callback
function 回调函数
-
on(type, callback)
-
地图事件注册
Name Type Description type
string 事件类型
callback
function 回调函数
-
pickFilterFunction(){boolean}
-
过滤设置可点击拾取函数。可通过过滤设置模型的可点击拾取和不可点击拾取。
Returns:
Type Description boolean 该方法返回true表示支持点击拾取,false表示不可点击拾取 Example
//过滤不允许点击的地图元素,设置为true为允许点击,设置为false为不允许点击 map.pickFilterFunction = function (event) { return event.type !== fengmap.FMType.MODEL; }
-
setBackgroundColor(color, alpha)
-
设置地图背景颜色
Name Type Description color
int | string 颜色值0xFF0000 | '#FF0000'
alpha
number 透明度,取值范围:0.0 - 1.0
-
setCenter(options)
-
设置视图中心的地图坐标, 在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description options
Object 地图移动参数
Name Type Description x
number 地图x坐标
y
number 地图y坐标
animate
boolean true:开启动画;false:不开启动画. 默认false
duration
number 动画持续时间
finish
function 动画完成回调函数
-
setCollisionOrder(collisionOrder)
-
设置部分覆盖物避让排序
Name Type Description collisionOrder
Array 不同marker类避让排序分组, 默认值: [TEXT_MARKER, IMAGE_MARKER]
1. 内侧数组每组组成一套避让检查, 外侧数组进行分组; 2. 组与组之间避让关系互不影响; 不支持重复设置同一个marker类, 如果重复设置, 仅保留第一个, 后面设置的marker类将会被滤掉; 3. 仅支持传入TEXT_MARKER, IMAGE_MARKERmarker类, 如果传入其他类, 则无效果, 也无报错;
-
setDevicePixalRatio(dpr)
-
设备像素比,值越小渲染分辨率越低,性能消耗越少
Name Type Description dpr
number 设备像素比
-
setFitView(bound, options)
-
设置合适的视图, 在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description bound
Object options
json 参数集合
Name Type Description animate
Boolean true 动画执行 false 不带动画执行 默认 true
finish
function 动画执行完成回调函数
-
setFloorSpace(value)
-
楼层间距
Name Type Description value
number 间距
-
setHighlightColor(color)
-
设置高亮颜色
Name Type Description color
-
setLabelField(labelField)
-
设置label显示的字段
Name Type Description labelField
fengmap.FMLabelField label 显示的字段,默认 fengmap.FMLabelField.NAME
-
setLevel(options)
-
设置地图聚焦楼层等级,如果聚焦楼层不在显示楼层范围内,则修改显示楼层,修改规则:1. 显示单楼层时,则切换显示楼层为聚焦楼层 2. 显示楼层为多层时,则把聚焦楼层添加到显示楼层中
Name Type Description options
Object 设置聚焦楼层参数
Name Type Description level
int 楼层等级
animate
boolean 是否开启动画,true:开启;false:不开启.默认开启
duration
number 动画持续时间
callback
function 开启动画时,该函数返回当前执行的动画单元,动画单元可以对当前动画进行基本操作,详细 { @link fengmap.FMAnimation }
finish
function 动画完成回调函数
-
setRenderOrder(array)
-
设置渲染顺序 默认顺序为:[EXTENT,EXTERNAL_MODEL,MODEL,DYNAMIC_MODEL_MARKER,EXTRUDE_MARKER,POLYGON_MARKER,HEAT_MAP_MARKER,LINE_MARKER,FACILITY,LABEL,IMAGE_MARKER,TEXT_MARKER,LOCATION_MARKER],DOM_MARKE始终在最上层不支持调整顺序。 (在深度检测开启后无效,如FMExtrudeMarker、FMLineMarker、FMDynamicModel。一般作用于覆盖物layer之间的显示顺序)
Name Type Description array
Array [fengmap.FMType]
-
setRotation(options)
-
旋转视图到指定角度,在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description options
Object 旋转参数
Name Type Description rotation
int 旋转角度
animate
boolean 是否开启动画,true:开启;false:不开启. 默认 true
duration
number 动画持续时间
finish
function 动画完成回调函数
minimumAngleTransformation
boolean 最小角度旋转变换, 默认 true
-
setState(state, options)
-
设置视图状态, 在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description state
Object 地图状态码
options
Object 参数
Name Type Description isParallel
Boolean 多个动画是否并行执行,true为并行执行,false不并行,默认为true
animate
Boolean true 动画执行 false 不带动画执行 默认 true
duration
number 动画持续时间,默认3秒
finish
function 动画执行完成回调函数
-
setTheme(themeID)
-
设置主题
Name Type Description themeID
string -
setThemeExtension(data)
-
设置主题扩展
Name Type Description data
json 主题数据
-
setTilt(options)
-
倾斜视图到指定角度, 在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description options
Object 倾斜参数
Name Type Description tilt
int 倾斜角度
animate
boolean 是否开启动画,true:开启;false:不开启. true
duration
number 动画持续时间
finish
function 动画完成回调函数
-
setViewMode(options)
-
设置视图模式,在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description options
Object Name Type Description mode
int 视图模式
animate
int 是否开启动画,默认 true
finish
int 完成回调
Example
setViewMode({mode:fengmap.FMViewMode.MODE_3D})
-
setVisibleLevels(levels, callback)
-
设置显示楼层
Name Type Description levels
Array 楼层id数组
callback
function 回调函数
Example
setVisibleLevels([1,2]);
-
setZoom(options)
-
缩放地图到指定级别, 在启用了动画选项时,需要在finish动画完成后,再调用setViewMode 、setFitView 、setCenter、setTilt、setRotation、setZoom、setState等函数。
Name Type Description options
Object 地图缩放参数
Name Type Description zoom
number 地图缩放级别
animate
boolean 是否开启动画,true:开启;false:不开启.默认开启
duration
number 动画持续时间
finish
function 动画完成回调函数
-
setZoomRange(range)
-
设置地图缩放级别范围
Name Type Description range
Array 缩放级别范围
-
zoomIn()
-
放大地图
-
zoomOut()
-
缩小地图
Events
-
buildingEntered
-
进入建筑事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
buildingID
string 建筑ID
Example
{ type:"buildingEntered", // 事件类型 buildingID:"xxxxxxx",//进入建筑ID }
-
buildingExited
-
退出建筑事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
buildingID
string 建筑ID
Example
{ type:"buildingEntered", // 事件类型 buildingID:"xxxxxxx",//进入建筑ID }
-
buildingLoaded
-
建筑加载完成事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
buildingID
string 建筑ID
Example
{ type:"buildingLoaded", // 事件类型 buildingID:"xxxxxxx",//子建筑ID }
-
click
-
鼠标点击事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
level
number 楼层
buildingID
string 建筑ID
coords
object 点击到的地图坐标
mouseEvent
object 鼠标事件
targets
array 所有点击到的地图节点(按距离排序)
Example
{ type:'click', // 事件类型 level:1,//楼层 buildingID:"1",//建筑ID,园区为null coords:{x:12619616.66,y:2621878.60}, // 点击到的地图坐标 mouseEvent:{}, // MouseEvent 鼠标事件 targets:[], // 所有点击到的地图节点(按距离排序) }
-
externalFirstLoaded
-
外部模型首次加载完成事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
Example
{ type:"externalFirstLoaded", // 事件类型 }
-
hover
-
鼠标悬停事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
level
number 楼层
buildingID
string 建筑ID
coords
object 点击到的地图坐标
mouseEvent
object 鼠标事件
targets
array 所有点击到的地图节点(按距离排序)
Example
{ type:'hover', // 事件类型 level:1,//楼层 buildingID:"1",//建筑ID,园区为null coords:{x:12619616.66,y:2621878.60}, // 点击到的地图坐标 mouseEvent:{}, // MouseEvent 鼠标事件 targets:[], // 所有点击到的地图节点(按距离排序) }
-
info
-
地图运行信息
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
InfoMode
信息内容,信息内容请参照 fengmap.FMInfoMode
Example
map.on("info", function(event){ if (fengmap.FMInfoMode.THEME_DATA_ERROR === event.InfoMode) { console.log("主题数据加载错误"); } });
-
levelChanged
-
聚焦楼层改变事件,含子聚焦楼层改变
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
level
number 楼层
Example
{ type:"levelChanged", // 事件类型 level: 2,//楼层 }
-
loaded
-
地图加载完成事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
Example
{ type:"loaded", // 事件类型 }
-
move
-
地图移动事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
center
object 当前中点坐标
Example
{ type:"move", // 事件类型 center:{x:xxxxx,y:yyyyyyy}//当前中点坐标 }
-
progress
-
显示进度条
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
progressBar
number 进度值
-
update
-
地图更新事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
renderType
number 是否需要渲染,需要是0,不需要是1
Example
{ type:'update', // 事件类型 renderType:1,//是否需要渲染,需要是0,不需要是1 }
-
viewChanged
-
视图改变事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
Example
{ type:'viewChanged', // 事件类型 }
-
viewModeChanged
-
视图模式改变事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
Example
{ type:'viewModeChanged', // 事件类型 }
-
visibleLevelsLoaded
-
地图可见楼层加载完成事件,含子建筑楼层加载完成
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
Example
{ type:"visibleLevelsLoaded", // 事件类型 }
-
zoom
-
地图缩放事件
Name Type Description event
Object 事件返回参数
Name Type Description type
string 事件类型
zoom
当前zoom值
Example
{ type:"zoom", // 事件类型 zoom:15,//当前zoom值 }