遇到问题各种搜索引擎走了一波都只简单的说了相同的加载方法,可以想象有多少人看了后心里暗骂一句这XX不都是相同的文章吗,有意思吗?
最终在大佬的帮助下解决了加载模型的问题
要想加载在cesium中加载本地的glb和gltf格式等相关的模型文件需要将模型文件放在Public下
代码贴上:
// 加载放在阿里云上的kml文件
var kml = Cesium.KmlDataSource.load(
// 你自己的文件URL
'http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.kml',
{
camera: viewer.scene.camera,
canvas: viewer.scene.canvas,
clampToGround: true // 开启贴地
}
)
viewer.dataSources.add(kml).then(function (dataSource) {
var entities = dataSource.entities.values
for (var i = 0; i < entities.length; i++) {
var entity = entities[i] // 设置每个entity的样式
entity.billboard.disableDepthTestDistance = Number.POSITIVE_INFINITY // 去掉地形遮挡
entity.billboard.color = Cesium.Color.WHITE
entity.billboard.image =
//贴图URL
'http://xxxxxxxxxxxxxxxxxxxxxxxx.svg'
}
})
加载gltf格式数据到cesium
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(103.59730016, 28.303110843, 0)
)
// gltf数据加载位置
scene.primitives.add(
Cesium.Model.fromGltf({
url: 'XJ27.glb', // 本地文件
modelMatrix: modelMatrix,
scale: 1 // 放大倍数
})
)
原创不易,转载请声明出处