function init3Dtitle(item) {
if (model3dTiltData[item.id]) {
model3dTiltData[item.id].show = item.istrue
item.istrue && viewer.flyTo(model3dTiltData[item.id])
} else {
let tileset = new Cesium.Cesium3DTileset(item.dtitle)
tileset.readyPromise.then((tileset) => {
const cartographic = Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center)
const surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0)
const terrainProvider = Cesium.createWorldTerrain()
const positions = [Cesium.Cartographic.fromDegrees(Cesium.Math.toDegrees(cartographic.longitude), Cesium.Math.toDegrees(cartographic.latitude))]
const promise = Cesium.sampleTerrain(terrainProvider, 11, positions)
Promise.resolve(promise).then(function (updatedPositions) {
console.log(updatedPositions[0].height)
const offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, updatedPositions[0].height)
const translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3())
tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation)
})
})
model3dTiltData[item.id] = viewer.scene.primitives.add(tileset)
item.istrue && viewer.flyTo(model3dTiltData[item.id])
}
}
加载倾斜模型贴地形
于 2024-02-19 14:35:02 首次发布