使用产品:iserver 9D 操作系统:win10 x64
数据类型: oracle 11g x64
问题详细描述:以往是注册了点击事件,通过点击三维模型中的某部位而去查询数据,现在用户需求要变成进入三维页面之后直接加载并且展示数据,该如何解决?
代码概要:只写了点前面的关键代码
var interval2 = setInterval(function(){
if(VillageModel.scene&&VillageModel.searchHandler){
//之前是点击事件,点击之后触发下面的代码,通过smid查询数据
VillageModel.searchHandler.setInputAction(function(e){
attrInfoList= new Array();
//点击获取smId
var selectedSmId = Number(deviceLayer.getSelection()[0]);
//如果是非数,则证明点击的不是管道,判断是否是楼层
if(Object.is(selectedSmId,NaN)) {//如果管道id是非数就判断点击的是不是楼层1的id
selectedSmId = Number(buildingLayer1.getSelection()[0]);
//console.log(selectedSmId)
//如果上面的if判断完仍是个非数,则证明点击的是环境图层,我们只需清除已有的表格
if(Object.is(selectedSmId,NaN)){
$("#save_box").css("display", "none");
$("#edit_box").css("display", "none");
$("#search_box").css("display", "none");
$("#attribute_name_add_box").css("display", "none");
$("#attribute_name_edit_box").css("display", "none");
$("#bubble").hide();
var table = document.getElementById("table");
for (i = table.rows.length - 1; i > -1; i--) {
table.deleteRow(i);
}
}else {//下面执行如果点击的是楼层图层的操作
$("#save_box").css("display", "none");
})