cesium加載3dTileset代碼如下
palaceTileset = await Cesium.Cesium3DTileset.fromUrl(
"url", {
skipLevelOfDetail: true,
baseScreenSpaceError: 1024,
skipScreenSpaceErrorFactor: 16,
skipLevels: 1,
immediatelyLoadDesiredLevelOfDetail: false,
loadSiblings: false,
cullWithChildrenBounds: true,
progressiveResolutionHeightFraction: 1,
dynamicScreenSpaceErrorDensity: 1,
maximumScreenSpaceError: 1
});
viewer.scene.primitives.add(palaceTileset);
加載三維模型 視頻參考地址:
https://www.bilibili.com/video/BV14g411s7DX/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=4716b12357fe8e4b33b293b4bbbbfcd8文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-818076.html
const initThreeModel = async () => {
let res = await queryTrajectory(monitoringStore.$state.trajectoryId)
let newArray = res.data.map(item => [item.longitude, item.latitude, item.heightValue]);
//其中newArray中的參數(shù)為[ [117.4603186710001, 31.14388249900003, 15.147400000001653]]分別是經(jīng)緯度以及高度
var viewer = new Cesium.Viewer("cesiumContainer", {
//搜索框
geocoder: false,
//home鍵
homeButton: false,
// 動(dòng)畫(huà)控件
animation: true,
//全屏按鈕
fullscreenButton: false,
//場(chǎng)景模式選擇器
sceneModePicker: false,
//時(shí)間軸
timeline: true,
//導(dǎo)航提示
navigationHelpButton: false,
//地圖選擇器
baseLayerPicker: false,
})
viewer.cesiumWidget.creditContainer.style.display = 'none'
//創(chuàng)建DataSource
var datasource = new Cesium.CustomDataSource("enetiestestdata");
viewer.dataSources.add(datasource)
let resImg = await reqQueryImgVideo(monitoringStore.$state.trajectoryId)
let testArrayImg = resImg.data
// 使用map方法遍歷數(shù)組并創(chuàng)建Billboard
testArrayImg.map(function (item) {
const position = Cesium.Cartesian3.fromDegrees(item.longitude, item.latitude);
let testBillboard = viewer.entities.add({
position: position,
billboard: {
image: 'https://img9.png',
scale: 0.03, // 圖片縮放比例
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND
},
});
testBillboard.myCustomProperty = item.url
// 注冊(cè)點(diǎn)擊事件
viewer.screenSpaceEventHandler.setInputAction(function onLeftClick (movement) {
var pickedObject = viewer.scene.pick(movement.position);
if (Cesium.defined(pickedObject) && Cesium.defined(pickedObject.id)) {
var billboard = pickedObject.id;
var description = billboard.myCustomProperty;
imgurl.value=description
checkDetail.value=true
console.log('點(diǎn)擊了:' + description);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
});
//添加線
datasource.entities.add({
name: "line",
polyline: {
positions: Cesium.Cartesian3.fromDegreesArrayHeights(newArray.flat()),
material: Cesium.Color.MEDIUMSPRINGGREEN,
width: 5
}
})
var property = new Cesium.SampledPositionProperty();
var starttime = new Date();
var stoptime;
var timestamp = starttime.getTime();
newArray.forEach((pos, index) => {
var time = new Date(timestamp + index * 5000);
stoptime = time;
var position = Cesium.Cartesian3.fromDegrees(pos[0], pos[1], pos[2])
property.addSample(Cesium.JulianDate.fromDate(time), position);
})
property.setInterpolationOptions({
interpolationDegree: 0.0001,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
var entitydd = datasource.entities.add({
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: Cesium.JulianDate.fromDate(starttime),
stop: Cesium.JulianDate.fromDate(new Date(stoptime))
})]),
position: property, // 點(diǎn)集
//開(kāi)啟模型自定義視角
//orientation: new Cesium.VelocityOrientationProperty(property),
model: {
uri: '/uav-processed.glb',
//uri: './scenewZ.glb',
scale: 5,
minimumPixelSize: 120,
maximumScale: 500
},
path: {
leadTime: 0,
resolution: 1,
material: new Cesium.PolylineGlowMaterialProperty({
glowPower: 0.1,
color: Cesium.Color.GREEN
}),
width: 10
}
});
viewer.clock.currentTime = Cesium.JulianDate.fromDate(starttime); //修改時(shí)間軸的當(dāng)前時(shí)間
viewer.clock.stopTime = Cesium.JulianDate.fromDate(new Date(stoptime));
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;
viewer.clock.shouldAnimate = true; //開(kāi)始播放
viewer.zoomTo(datasource)
}
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-818076.html
到了這里,關(guān)于vue中加載使用cesium加載3dTileset以及三維模型移動(dòng)(1.108版本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!