首页 / 浏览问题 / 三维GIS / 问题详情
如何不使用点击而是页面加载完毕之后就执行以下代码呢
4EXP 2020年09月17日

使用产品: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");
})

1个回答

您好,根据您的需求给您推荐sql查询的示例

http://support.supermap.com.cn:8090/webgl/examples/editor.html#getFeatureBySQL

1,063EXP 2020年09月17日
...