webgl属性查询可以查询多个三维配置么?

0 投票
229 浏览
//设置属性查询参数
                layer.setQueryParameter({
                    url: 'http://www.supermapol.com/realspace/services/data-jinjiang/rest/data',
                    dataSourceName: 'jinjiang',
                    dataSetName: 'test',
                    keyWord: 'SmID'
                });

代码中的layer是三维的配置文件,如果我的配置文件有多个,类似如下图片

属性查询能否通过for循环的方式实现,类似于layers[i]的形式进行查询,然后所有属性都存在如下代码中的feature中。

viewer.pickEvent.addEventListener(function(feature){
            var title = Cesium.defaultValue(feature.NAME,'');
            var description = Cesium.defaultValue(feature.DES,'');
            title.innerText = title;
            des.innerText = description;
            myimg.src = "./images/" + title + ".jpg";
        });

如果不行的话,有什么方法可以让所有的配置文件集合成一个呢?配置文件夹如图

每个s3m文件中都有一个Config的文件

最新提问 7月 4 分类:  229次浏览 | 用户: alanwhy 牛刀小试 (147 分)

1个回答

0 投票
 
已采纳

您好,如果你的模型是BIM模型的话,可以用”数据“选项卡中的“批量生成缓存”功能,这样切出来的只有1个scp。另外参考范例:http://support.supermap.com.cn:8090/webgl/examples/editor.html#S3MTiles_BIM,即可实现查多个数据,关键代码:

  layer.setQueryParameter({
                    url:"http://www.supermapol.com/realspace/services/data-BIMbuilding/rest/data",
                    dataSourceName : layer._name,
                    isMerge : true
                });

最新回答 7月 4 用户: 胡林 名扬四海 (5,799 分)
采纳于 7月 4 用户:alanwhy
emm 不是BIM 就是倾斜摄影,而且不考虑重新切模型,因为很大很费时间。。时间上不允许了
你给每一个s3mtileslayer都设置对应的查询参数
怎么设置,setQueryParameter之后的参数么?

我想要的是查询的全部结果都在我点击模型后返回的feature中,设置一堆对应的参数后能实现么?
layer.setQueryParameter({
                    url: 'http://www.supermapol.com/realspace/services/data-jinjiang/rest/data',
                    dataSourceName: 'jinjiang',
                    dataSetName: 'test',
                    keyWord: 'SmID'
                });

每个图层你都这么设置一次,只是里面的参数填对应的

这个里面的查询参数都是一样的,主要是layer有多个,我想通过for循环的方式,类似于这样

for(var i = 0 ; i < layers.length; i++){
	layers[i].setQueryParameter({
		url: 'http://www.supermapol.com/realspace/services/data-jinjiang/rest/data',
		dataSourceName: 'jinjiang',
		dataSetName: 'test',
		keyWord: 'SmID'
	});
}

解决了,就是这样循环查就行
...