idesktop中生成的图层缓存,必须要生成多个图层才能控制显影吗

0 投票
批量生成图层缓存,只会生成一个图层,可以对里面的子图层做显影操作吗
4月 14, 2020 分类:  104次浏览 | 用户: 1347781778 初出茅庐 (22 分)

1个回答

0 投票

批量生成缓存是可以对子图层进行显隐操作的,具体可参考示例(http://support.supermap.com.cn:8090/webgl/examples/editor.html#S3MTiles_BIM

4月 14, 2020 用户: 三次鱼疯啦 名扬四海 (2,419 分)
批量生成的缓存只有一个图层 ,怎么对这个图层下面的各个模型做显影操作?相关api是什么,
他没有子图层, 就一个图层,如何控制图层里面的各个模型的显影

没有子图层可能的原因是切缓存时没有选择S3M的格式,或者是代码中服务的位置填写错误。

通过这个方法可以控制显隐

visible : Boolean

获取或设置图层可见性。

Example:

//获取可见性
var isVisible = S3MTilesLayer.visible;
//设置不可见
S3MTilesLayer.visible = false;
不是这个意思,  当批量缓存模型的时候,最后生成的缓存图层就是一个,我的问题是如何获得这一个缓存图层下面的子对象  , 你说的visible 这个是控制图层的,如果visible = false 那么整个图层就不会显示出来。我想要的是一个图层下面的某个模型的显影 。可以做到吗
可以做到的,您参考一下我第一个给您的范例,他就是控制子图层的模型的显隐,您没有加载出来子图层是您代码中的问题。

iDesktop中 批量生成模型缓存,它只会生成一个图层。 怎么操作该图层下面的各个模型的显影 

这个跟我代码没有关系  

您是要在idesktop中控制子图层的显隐?
如果是在idesktop中控制显隐直接将模型全部加载到场景里点击小眼睛就可以控制显隐,没有必要生成缓存。
如果您是在webgl中控制子图层的显隐的话,您需要写一个树控件通过layer的方法从您生成的批量缓存中获取子图层。并通过S3MTilesLayer.visible = false;这个方法就可以控制子图层的显隐了。
大概的流程就是在Idesktop中批量生成模型缓存之后,他只会生成一个图层, 我想要在web端控制生成的这个图层下面的某个模型的显影,就比如上图中的天桥,在idesktop上 是一个图层。我想要控制栏杆的显影。怎么控制、 layer方法是控制图层的显影。这个天桥是一个图层。我想要控制一个图层下面的某个模型的显影 。没有子图层,你能明白我的意思吗
...