webgl分层分户单体化

0 投票

如何实现分层分户单体化中,多个单体同时显示,并且不同颜色进行标识,官网的例子只能加载一个

如图所示

7月 15 分类:  150次浏览 | 用户: windDawn 初出茅庐 (65 分)

1个回答

0 投票
您好,您的意思是选中某一户后达到您图上的效果;还是说选中一个单元中的某一户,整个单元用不同颜色分层显示;如果我理解的不到位请您再详细描述一下。
7月 15 用户: jjz 名扬四海 (1,331 分)
对于第二个问题:请问您在桌面中点选的时候会有其他对象被选中的问题吗?其他户对象被选中是指一户还是多户,看起来是否是随机被选中,或者是有规律的比如上一层或者旁边一户等等。您已经在桌面设置了颜色就不用在网页端设置图层颜色了,这个没问题,例子中的是因为想让面图层透明所以才需要设置图层颜色。对于您第一个问题,方便的话可以贴一下代码吗?

第二个问题在在桌面没有出现是正常的,在webgl端很随机

第一个问题还有个就是在桌面显示矢量是附着在分户的每一个面上的,在webgl中只附着在分户的阳台面,背面没有覆盖;


 var promises = cesiumViewer.viewer.scene.open('https://supergis.fxtcn.cn/iserver/services/3D-fencengfenhu/rest/realspace');
            // var promises = cesiumViewer.viewer.scene.open('https://supergis.fxtcn.cn/iserver/services/3D-jueduigaodu/rest/realspace');
            Cesium.when.all(promises, function (layers) {
                var vectorLayer = cesiumViewer.viewer.scene.layers.find('fcfh@yuexi#1'); // 矢量图层,图层的名字为服务数据中SCP的文件名
                // vectorLayer.style3D._fillForeColor.alpha = 0; // 矢量图层填充前景色透明
                vectorLayer.selectedColor = new Cesium.Color(1.0, 0.0, 0.0, 0.5); // 选中时给一个可见颜色
                vectorLayer.selectColorType = 1; // 选中颜色的显示类型为替换色
                vectorLayer.selectEnabled = true; // 矢量图层可选
            });

链接:https://pan.baidu.com/s/1wiu1hGDwuWpfaTtF-J4bKQ 
提取码:3333 
附上我的数据:

1、倾斜.zip:是倾斜模型的s3m缓存

2、fencengfenhu_s3m:是矢量贴面的缓存

3、工作空间数据集.zip:是矢量贴面的数据集和工作空间文件,里面的倾斜模型我是用的我发布的iserver服务的,跟倾斜.zip一致

您好数据我已收到,测试后给您回复。
您好,我发布测试了,在官网示例加载效果也有问题,可能是专题图的原因,这个问题我报一个缺陷,看研发有什么回复。

刚试了下我没弄专题图,直接加载的原图层生成缓存也是一样的问题;

另外,我如果设置为绝对高度,不设置贴模型设置贴对象,没有那种缺一层的问题,但是在桌面里面专题图设置的透明度在webgl上没有效果了,如第一张图

还有,不管贴对象还是绝对高度,在webgl中还会出现楼的背面没有覆盖效果,如第二张图

...