但是我的S3MTilesLayer的通过scene.open()的形式创建的,不能正确监听事件,代码如下:
const url = 'http://www.supermapol.com/realspace/services/3D-BIMbuilding/rest/realspace'; viewer.scene.open(url).then(function (layers) { const layer = layers[0]; layer.allTilesLoaded.addEventListener(function () { console.log('layer.allTilesLoaded'); // 这里是不会打印的。 }); });
可以的
scene.layers.find把你的图层找出来就行,不要用回调的这个layes,回调这个layers修改操作不过去的
比如
var tileset = scene.layers.find('Ground@CBD'); console.log(tileset) tileset.allTilesLoaded.addEventListener(function() { if (tileset.tilesLoaded === tileset.tilesLoaded) { console.log('3D Tiles loaded!'); } });