本帖最后由 tangan 于 2023-8-18 18:05 编辑
特别注意:ThingJS-X4 官方推荐API为 THINGX命名空间,强烈禁止使用非官方推荐 uinv 命名空间,uinv 命名空间即将废弃
业务
获取当前激活的业务名称: THINGX.Business.getActivatedName()
激活业务: THINGX.Business.activate('业务名称')
关闭当前业务: THINGX.Business.deactivate()
图层
激活图层: THINGX.Layer.activate('图层名称')
取消激活指定图层: THINGX.Layer.deactivate('图层名称')
孪生体面板
THINGX下没有这个api,包括获取图层配置api也没有,配置是在插件中直接使用的,传给插件的参数中有配置信息,不用额外api获取
标记
获取孪生体标记配置数据: THINGX.Marker.getConfig(digitalTwin)
获取孪生体预加载标记名称: THINGX.Marker.getPreloadName(digitalTwin)
显示标记: THINGX.Marker.show(digitalTwin,'标记名称')
隐藏标记: THINGX.Marker.hide(digitalTwin,'标记名称')
添加(创建并显示)标记: THINGX.Marker.add(digitalTwin,'标记名称')
删除标记: THINGX.Marker.remove(digitalTwin,'标记名称')
通过标记名称获取已创建的标记: THINGX.Marker.get(digitalTwin,'标记名称')
获取孪生体上所有已创建的标记: THINGX.Marker.getAll(digitalTwin)
操作集
运行操作集: THINGX.OperationSet.run(name [, target] [, params])
eg:THINGX.OperationSet.run('取消效果',ev.object)
停止指定操作集: THINGX.OperationSet.stop(name)
场景控制
激活指定场景控制功能: THINGX.SceneControl.activate("场景控制名称")
取消激活指定场景控制功能: THINGX.SceneControl.deactivate("场景控制名称")
视点动画
播放视点动画: THINGX.SnapshotAnimation.play("视点动画名称")
系统告警
告警系统是否激活: THINGX.Alarm.isActivated()
系统监控
监控是否激活(开启): THINGX.Monitor.isActivated() 当监控中没有孪生体,监控关闭
将孪生体添加到监控中: THINGX.Monitor.add(digitalTwin [, '监控目的']) 会自动开启监控进行数据请求
注:add后,孪生体监控指标、孪生体监控事件都会进监控队列,这里不同于X3逻辑
将孪生体从监控中移除: THINGX.Monitor.remove('.building','监控目的')
孪生体是否在监控集合中: THINGX.Monitor.isInMonitorSet(digitalTwin)
摄像机
单个孪生体飞行: THINGX.Camera.flyTo(digitalTwin) //会自动判断是地球上的飞(earthFlyTo)还是(flyTo)
参数可选:孪生体/孪生体集合/ThingJS查询表达式
通过孪生体获取摄像机姿势(position/location)
const curLevel = app.level.current
THINGX.Camera.getPoseWithDigitalTwin(curLevel)
定时器
创建延时: THINGX.Timer.addInterval(()=>{console.warn('1')},2000,'temp')
获取指定id的延时实例: THINGX.Timer.get('temp')
删除延时: THINGX.Timer.remove('temp')
输出前端错误消息
THINGX.Error.report('CUSTOM_ERROR', '自定义错误', 'custom', {msg:'报错啦...'}, THINGX.Error.Level.Intercept)
调试器
获取调试等级: THINGX.Debugger.getLevel()
设置调试等级: THINGX.Debugger.setLevel('warn') 'debug', 'log', 'info', 'warn', 'error'
系统环境
系统版本库 THINGX.System.Version
Members
- version:string 版本号(ThingJS-X)
- thingjs:string 版本号(ThingJS)
- marker:string 版本号(标记库)
- geo:string 版本号(地图)
系统工具
数据请求库: THINGX.Utils.Http.post(url,data,config).then((object)=>{xxx});
系统功能
孪生体操作相关
显示孪生体: THINGX.DigitalTwin.show(digitalTwin)
隐藏孪生体: THINGX.DigitalTwin.hide(digitalTwin)
地球等相关操作api
获取地球根节点对象: THINGX.Earth.getRoot()
获取地图内园区信息: THINGX.Earth.getCampuses()
场景相关
获取当前场景信息: THINGX.Scene.getCurrent()
获取入口场景信息: THINGX.Scene.getEntry()
全局绑定事件
THING.App.current.on(eventType [, condition] [, userData], callback [, tag] [, priority])
常用事件类型
THINGX.EventType.XLoad 系统加载完成
THINGX.EventType.XEnterLevelForward 正向进入层级
THINGX.EventType.XLeaveLevelBackward 反向离开层级结束
举个大家常用的需求来介绍事件:
正向进入指定分类(这里假设是楼层)层级,展示该层级孪生体面板(前提需要配置了该层级孪生体面板)
THING.App.current.on(THINGX.EventType.XEnterLevelForward, '[twinType=楼层]', (ev) => {
/* 注释:ev.current 表示当前层级孪生体对象; ev.previous 表示前一层级孪生体对象 */
THING.App.current.selection.select(ev.current)
},'项目定制进入指定层级展示该层级孪生体面板')
暂停事件响应:
/ / 暂停系统内置的左键双击进入下一层级操作(下面代码表示暂停双击进入二楼)
THING.App.current.pauseEvent(THING.EventType.DBLClick, '#F2', THING.EventTag.LevelEnterMethod)
// 暂停系统内置的右键双击返回上一层级操作( * 表示所有)THING.App.current.pauseEvent(THING.EventType.DBLClick, '*', THING.EventTag.DClickToLevelBack)
|
|
|
|
|
|