let fanModel = { uri: 'model3D/fan.glb', // glb實例模型 height: 85, scaling: 160.05, heading: 90, pitch: 90, roll: 0 } let position = Cesium.Cartesian3.fromDegrees(longitude, latitude, fanModel.height) let fanEntity = new Cesium.Entity({ id: 'fan' + fan.fanId, show: true, position: position, orientation: Cesium.Transforms.headingPitchRollQuaternion( position, new Cesium.HeadingPitchRoll( Cesium.Math.toRadians(fanModel.heading), // heading 船首向 Cesium.Math.toRadians(fanModel.pitch), // pitch 左右翻轉 Cesium.Math.toRadians(fanModel.roll) // roll 前后翻轉 ) ), model: { uri: fanModel.uri, scale: fanModel.scaling, runAnimations: true, color: Cesium.Color.RED }, label: { pixelOffset: new Cesium.Cartesian2(0, -20), showBackground: true, backgroundColor: new Cesium.Color(0.165, 0.165, 0.165, 0.2), scale: 0.6, font: '24px SourceHanSansSC-Medium', fillColor: fengjiColor, text: labelText } }) this.viewer.entities.add(fanEntity)