IoT设备筛选

MMSDT.coverage()

       需先用 MMSDT.addIcon()、 MMSDT.addModel()、 MMSDT.textIcon()加载IoT设备。

       对IoT设备图标、IoT设备模型,按“区域”、“设备类型”进行组合筛选。

构造函数

      MMSDT.coverage( area: string, type: string )

       area - 包含所属区域字符串的数组。

       type - 包含设备类型字符串的数组。

       无参数,隐藏所有

       'all' - 包含所属区域或设备类型的全部。

MMSDT.coverageID()

       需先用 MMSDT.addIcon()、 MMSDT.addModel()、 MMSDT.textIcon()加载IoT设备。

       对指定ID号的特定设备进行显示或者隐藏。其它未在指定中的ID号不起任何作用。

构造函数

      MMSDT.coverageID( array, Boolean )

       array - 包含id号字符串的数组。

       Boolean - true显示,false隐藏。

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = []; //合并实例化网格 //初始化场景 MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh ); //设置第3人称鼠标控制器 controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制 controls3.maxDistance = 1000; //最远距离限制 controls3.screenSpacePanning = false; //右键平移是否上下移动 controls3.enableDamping = true; //是否开启惯性阻尼 controls3.dampingFactor = 0.1; //惯性阻尼系数 controls3.autoRotateSpeed = 2; //自动旋转速度 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_cangku1.json", function(progress){ if( progress == 'done' ){ //加载完成,播放动画 for( var i=0; i<actions[0].length; i++ ){ actions[0][i].play(); actions[0][i].timeScale = 0.5; } }else if( progress == 'ok' ){ //渲染完成 }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); //读取json设备信息并加载 MMSDT.getJson( "models/equip_cangku1.json", function(dataJson){ var options1 = { dirUrl: 'models/equip/', //String(安装目录) scale: 2.5, //Number(设备模型大小缩放,在已编辑的大中小基础上) height: 0, //相对高度 visible: true, //Boolean(默认是否显示,true显示,false隐藏) } MMSDT.addModel(dataJson, options1); //载入IoT设备 var options2 = { dirUrl: 'models/equip/', //安装目录 scale: 1, //缩放比例 height: 16, //相对高度 visible: true, //默认显示 animate: true, //上下浮动 lookAt: true, //是否垂直约束 color: 0x1197ff, //默认颜色 } new MMSDT.addIcon( dataJson, options2); //载入IoT图标 }); //自定义对外函数接口------------------------------------------------------------------------ //设备筛选 MMAPI.iotCoverage = function(num ){ switch(num) { case 0: //全部隐藏 MMSDT.coverage(); break; case 1: //全部显示 MMSDT.coverage( 'all', 'all' ); break; case 2: //筛选摄像机 MMSDT.coverage( ['A'], ['1'] ); break; case 3: //筛选消火栓 MMSDT.coverage( ['A'], ['17'] ); break; case 4: //筛选灭火器 MMSDT.coverage( ['A'], ['18'] ); break; case 5: //指定id的红外探测器显示 MMSDT.coverageID( ['H01','H03','H06'], true ); break; case 6: //指定id的红外探测器隐藏 MMSDT.coverageID( ['H01','H03','H06'], false ); break; } }

点击查看示例演示 →