cesium官方bug吗?

前端3D模型cesium.js,想要通过点击左侧列表聚焦并变色某个部件,看过官方api只有tileset.tileVisible.addEventListener一种方法

var clickEvent = function(tile) {
    var content = tile.content;
        var featuresLength = content.featuresLength;
        for (var i = 0; i < featuresLength; i++) {
            // dbId为方法传入数据
            if(content.getFeature(i).getProperty('DbId')==dbId){
                var selectedFeature=content.getFeature(i);
                //变色
                selectedFeature.color = Cesium.Color.GOLD;
                //未能移动镜头聚焦
        }
    }
};
tileset.tileVisible.addEventListener(clickEvent);

上面代码已经可以获取到想要的模型部件+变色,但tileset.tileVisible.addEventListener完全停不下来无限循环,无论是官方示例代码还是我的代码,这是官方bug吗?

急求:

1.无限循环的解决办法或者替代办法

2.通过selectedFeature放大并对焦镜头的办法

不是,你可以跟踪一下。

每个循环输出一个i

我换了种方式变色,不必再监听鼠标事件和循环tile

tileset.style = new Cesium.Cesium3DTileStyle({
                color: {
                    conditions: [
                        [
                            "${DbId} === "+dbId,
                            "color('cyan', 0.9)",
                        ],
                        [true, 'rgb(150,150,200)'],
                    ],
                },
            });

但镜头飞行还是做不到,因为找不到feature里每个部件的对应3维坐标

viewer.camera.flyTo({//设置视角
                    destination : Cesium.Cartesian3.fromDegrees(longitude,dimension,height),
                    orientation:{
                        heading:Cesium.Math.toRadians(-69.0), //方位角
                        pitch:Cesium.Math.toRadians(-10.0), //倾斜角
                    }
                });

json数据里唯一像坐标的数据是这样子的:

"boundingBoxes": [null, [-2630.158, -336.648, -129.509, -693.232, -95.184, -4.739],

            [-1618.827, -336.648, -91.109, -693.232, -95.184, -5.362],

            [-1618.827, -336.648, -12.395, -693.815, -95.184, -5.362],

            [-1618.827, -336.648, -12.395, -693.815, -95.184, -5.362],

我看不懂,很明显不能作为3维坐标,不知道能不能利用上