Cesium中,添加点一般两种方式:
1.entities
2.primitive
1.主要区别:
entities方式,用法简单,属性方便,直接设置即可。
primitive,底层调用,性能更好。
2.代码定义:
实际开发一般需要自己定义图层来区分不同业务数据
entities:
var cameraEntityCollection = new Cesium.CustomDataSource("layer_camera");
viewer.dataSources.add(cameraEntityCollection );
cameraEntityCollection .entities.add(...)
primitive:
var cameraCollection = viewer.scene.primitives.add(
new Cesium.BillboardCollection({
scene: viewer.scene,
})
);
cameraCollection.add(...)
CustomDataSource和PrivitiveCollection可以理解为图层的概念,不同的图层存放不同业务数据。
性能测试:地图添加10w点,entities的fps在20左右,而primitives的fps保持在60,且拖动地图primitives更加平滑,entities则有一些卡顿。(左entities,右primitives)