效果图:
代码:
let viewer = new Cesium.Viewer('cesiumContainer');
// 添加SuperMap iServer发布的S3M缓存服务
let promise = viewer.scene.addS3MTilesLayerByScp("http://www.supermapol.com/realspace/services/3D-BIMbuilding/rest/realspace/datas/BIMbuilding/config",
{name: "layerName"}
);
// 加载完成执行回调,定位到该图层
promise.then(function (layer) {
let ceterCartesianPosition = layer._position;
let boundingSphere = new Cesium.BoundingSphere(ceterCartesianPosition, 200);
let camera = viewer.scene.camera;
camera.flyToBoundingSphere(boundingSphere);
// 用于裁剪的盒子(S3MTiles图层和盒子重合部分会被裁剪调)
let position = Cesium.Cartesian3.fromDegrees(116.47232967469, 39.9149481801, 17);
let heading = Cesium.Math.toRadians