问题描述: 我是revit导入生成的场景发布后 通过前端 js 已经知道的SMID号 给 图层着色 网上查了好多方法 技术中心也看了 还是不成功 用的就是官网实例bim模型的改的 无论是循环不循环的都不行 特咨询
//场景添加S3M图层服务
var promise = scene.open("http://60.30.92.78:8090/iserver/services/3D-shengyazhan2/rest/realspace");
Cesium.when(promise, function(layers) {
var s3mLayer = layers[0];
viewer.zoomTo(s3mLayer);
var layer = scene.layers.find('A100');
//读取子图层信息,通过数组的方式返回子图层的名称以及子图层所包含的对象的IDs
s3mLayer.setQueryParameter({
url: "http://60.30.92.78:8090/iserver/services/data-shengyazhan/rest/data",
dataSourceName: "A100",
isMerge: true
});
//根据smid给构件着色
var ids = [8, 11, 14, 17];
//var Colors = ['#152664', '#0d2680', '#002eb3', '#0041a2']
var colors = new Cesium.Color.fromCssColorString("rgba(23,92,239,0.5)");
layer.setObjsColor(ids,colors);
//根据smid给构件着色
//var ids = [8, 11, 14, 17];
//var Colors = ['#152664', '#0d2680', '#002eb3', '#0041a2']
// var ids = new Array("8", "11", "14", "17");
//for (var i = 0; i < ids.length; i++) {
// layer.setObjsColor([ids[i]], Cesium.Color.fromCssColorString(Colors[i]))
//}
// 初始化选中颜色
var color = new Cesium.Color.fromCssColorString("rgba(23,92,239,0.5)");
layer.selectedColor = color;