文章中所有操作均是在 Cesium 1.91 版本下进行的,其它版本差异请自行适配
CustomDataSource
CustomDataSource 从这个对象命名就可以分辨出它的具体作用,可用于手动或者自定义管理一组实体的 DataSource 实现。
代码片段:
const viewer = new Cesium.Viewer("cesiumContainer");
var dataSource = new Cesium.CustomDataSource("myData");
var entity = dataSource.entities.add({
position: Cesium.Cartesian3.fromDegrees(116.75199, 36.55358, 3000000),
billboard: {
image: "./images/myimage.png",
width: 150,
height: 150
}
});
viewer.dataSources.add(dataSource);
//设置初始位置
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(116.75199, 36.55358, 20000000)
});
代码很好理解,自定义了一个 myData 的 CustomDataSource 对象,再定义一个 Entity,将这个对象追加到 dataSource 的 EntityCollection 中,这个 Entity 定义了定位和指定的图片。怎么说呢,这个 CustomDataSource 常用也不常用,作者手中也没有现成的示例,只能简单测试一下。(width 和 height 参数是必不可少的)
效果如下: