初始化配置
// 引入地图资源
new Cesium.UrlTemplateImageryProvider({url: ''});
// 初始化Cesium实例并写入配置项
new Cesium.Viewer('dom名称',{});
// 定义参数,用于操作鼠标事件
const ShapeEventHandler = new Cesium.ScreenSpaceEventHandler(
viewer.scene.canvas
);
//单机鼠标右键操作执行内容
ShapeEventHandler.setInputAction((event: any) => {
// Cesium.ScreenSpaceEventType.WHEEL 滚轮事件
// Cesium.ScreenSpaceEventType.LEFT_CLICK 左键
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
引入3Dtileset
function tilesetload(){
const tilesetData = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
url: '引入你的tileset.json',
type: '3dtiles',
maximumScreenSpaceError: 2,
maximumNumberOfLoadedTiles: 1000
}));
viewer.scene.primitives.add(tilesetData)
tilesetData.readyPromise.then((tileset) => {
const cartographic = Cesium.Cartographic.fromCartesian(
tileset.boundingSphere.center
);
const surface = Cesium.Cartesian3.fromRadians(
cartographic.longitude,
cartographic.latitude,
cartographic.height
);
console.log(cartographic.latitude, cartographic.latitude.height)
const offset = Cesium.Cartesian3.fromRadians(
cartographic.longitude,
cartographic.latitude,
0.0
);
const translation = Cesium.Cartesian3.subtract(
offset,
surface,
new Cesium.Cartesian3()
);
tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation)
viewer.flyTo(tileset)
}).otherwise((error) => {
console.log(error)
})
}
tilesetload();