ViewerGIS
类:操作GIS场景的类
Constructor
new Glodon.Bimface.Viewer.ViewerGIS(viewerGISConfig)
Parameters:
Name | Type | Description |
---|---|---|
viewerGISConfig | Glodon.Bimface.Viewer.ViewerGISConfig | viewerGIS的配置项 |
Methods
addEventListener(event, callback)
注册监听事件
Parameters:
Name | Type | Description |
---|---|---|
event | Glodon.Bimface.Viewer.ViewerGISEvent | 监听事件 |
callback | Function | 监听事件的回调函数 |
addScene(viewToken)
加载场景
Parameters:
Name | Type | Description |
---|---|---|
viewToken | String | 场景的viewToken |
clearIsolation()
清除隔离
cloneModel(sourceModelId, destModelId)
克隆模型,克隆模型将自动添加到源模型相同位置
Parameters:
Name | Type | Description |
---|---|---|
sourceModelId | String | 源模型ID |
destModelId | String | 克隆模型ID |
createSnapshot(callback)
创建快照
Parameters:
Name | Type | Description |
---|---|---|
callback | Function | 快照回调函数 |
destroy()
销毁场景
enableFullScreen(isEnabled)
设置是否开启全屏模式
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否开启全屏模式 |
enableGlowEffect(isEnabled)
是否开启发光效果
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否开启发光效果,true为开启,false为关闭 |
enableMouseMovePick(isEnabled)
设置鼠标滑动拾取坐标
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 开启或关闭鼠标滑动拾取坐标 |
enableSnap(isEnabled)
开启/关闭捕捉模式
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 开启或关闭对象捕捉 |
enableSSAOEffect(isEnabled)
是否开启SSAO效果
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否开启SSAO效果,true为开启,false为关闭 |
enableWireframe(isEnabled)
是否开启构件线框
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否开启构件线框,默认为true |
getBackgroundColors()
获取场景背景颜色信息
Returns:
Type | Description |
---|---|
Object | 背景颜色信息 |
getBasePoint()
获取基准坐标点的经纬度
Returns:
Type | Description |
---|---|
Object | 基准坐标点信息 |
getCamera()
获取相机对象
Returns:
Type | Description |
---|---|
Glodon.Bimface.Camera.CameraGIS | GIS场景的相机对象 |
getComponentsByRaycaster(startPoint, direction, conditions)
射线检测
Parameters:
Name | Type | Description |
---|---|---|
startPoint | Object | 射线检测起点,世界坐标,例{x:5,y:20,z:10} |
direction | Object | 射线方向向量,例:{x:0,y:1,z:0} |
conditions | Array | 由layerId、objectData或objectIds构成的对象组成的筛选条件数组,若不填则场景内所有图层均参与。例:[{layerId:"layer_1",objectData:[{categoryId: "-2000014" },{ categoryId: "-2000023" }]},{layerId:"layer_2",objectIds:['11','5032']}] |
Returns:
Type | Description |
---|---|
Array | 按照碰撞顺序返回各构件信息:图层ID、构件ID、射线与构件相交点、射线起点至相交点的距离,相交点处法向量,单位为m。例:[{"layerId":"layer_1","objectId":"compontId1","position":{x:5,y:26,z:10},"distance":6,"normal":{x:0.6,y:0.8,z:0}},{"layerId":"layer_2","objectId":"compontId2","position":{x:5,y:30,z:10},"distance":10",normal":{x:1,y:0.9,z:0.5}}] |
getEffectManager()
获取场景效果管理器
Returns:
Type | Description |
---|---|
Glodon.Bimface.ElementManager.EffectManager | 场景效果管理器 |
getExposureCompensation()
获取图层的曝光补偿
Returns:
Type | Description |
---|---|
Array | 图层id及曝光补偿值数组 |
getLayerManager()
获取图层管理器
Returns:
Type | Description |
---|---|
Object | 图层管理器 |
getLightingMode()
获取当前光照模式
Returns:
Type | Description |
---|---|
String | 光照模式:‘IBL’,基于图像模式;‘Phong’普通模式 |
getSelectedElements()
获取所有选中的构件
Returns:
Type | Description |
---|---|
Array | 数组;数组元素是对象 |
getWireframeColor()
获取构件线框的默认颜色
Returns:
Type | Description |
---|---|
Glodon.Web.Graphics.Color | 构件线框的默认颜色 |
hideNorthArrow()
隐藏指北针
isolateLayerByIds(ids, state)
对指定图层进行隔离,对BIMLayer, FeatureLayer生效
Parameters:
Name | Type | Description |
---|---|---|
ids | Array | 由图层ID组成的数组 |
state | Glodon.Bimface.Viewer.IsolateOption | 被隔离构件显示状态,如Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent |
isWireframeEnabled()
是否开启了构件线框
Returns:
Type | Description |
---|---|
Boolean | 是否开启了构件线框 |
latLonToWorld(option)
根据经纬度获取世界坐标
Parameters:
Name | Type | Description |
---|---|---|
option | Object | 配置选项 |
Returns:
Type | Description |
---|---|
Object | 世界坐标,例{x:195371.28322918713,y:42535.21749150567,z:345.123}。返回的z值为该经纬度处对应的当前层级下的高程。 |
removeEventListener(event, callback)
注销监听事件
Parameters:
Name | Type | Description |
---|---|---|
event | Glodon.Bimface.Viewer.ViewerGISEvent | 监听事件 |
callback | Function | 监听事件的回调函数 |
render()
模型渲染,当修改了模型构件的状态,必须手动调用render(),场景才会显示效果,如果同时需要调用多个函数,强烈建议在最后调用一次render()
resize(width, height)
设置场景显示大小
Parameters:
Name | Type | Description |
---|---|---|
width | Number | 宽度 |
height | Number | 高度 |
restoreWireframeColor()
恢复构件线框的默认颜色
setBackgroundColors(option)
设置场景背景颜色
Parameters:
Name | Type | Description |
---|---|---|
option | Object | 场景背景色信息 |
setExposureCompensation(compensation)
设置场景曝光补偿,补偿量范围为[-1, 1],默认为0,正值代表增加曝光,负值代表减少曝光
Parameters:
Name | Type | Description |
---|---|---|
compensation | Number | 场景曝光补偿量,取值范围为[-1, 1] |
setOrbitButton(orbitButton)
设置鼠标旋转习惯(左键旋转/右键旋转)
Parameters:
Name | Type | Description |
---|---|---|
orbitButton | Glodon.Bimface.Viewer.OrbitButton | 设置鼠标旋转交互按键 |
setSnapMode(snapMode)
设置对象捕捉模式
Parameters:
Name | Type | Description |
---|---|---|
snapMode | Glodon.Bimface.Viewer.SnapMode | 捕捉模式 |
setWireframeColor(color)
设置构件线框的默认颜色
Parameters:
Name | Type | Description |
---|---|---|
color | Glodon.Web.Graphics.Color | 构件线框的默认颜色 |
showNorthArrow()
显示指北针
worldToLatLon(worldPosition)
根据世界坐标获取经纬度
Parameters:
Name | Type | Description |
---|---|---|
worldPosition | Object | 世界坐标 |
Returns:
Type | Description |
---|---|
Object | 经纬度,例:{lat: 39.904840974819265, lon: 116.39836507050262} |