cesium

1.创建一个实体
const point1 = new Cesium.Entity({
    position: Cesium.Cartesian3.fromDegrees(115, 39),
    point: {
        pixelSize: 10,                //点像素大小
        color: Cesium.Color.RED,      //只能用Cesium.Color
        outlineColor: Cesium.Color.WHITE,
        outlineWidth: 3,
        },
    });
    viewer.entities.add(point1);
//默认 fill=true, outline=false,
 2.获取实体
viewer.entities.getById("pn")//pn为实体的id
3.修改实体
viewer.entities.getById("pn").point.color = Cesium.Color.PINK
 4.删除实体
viewer.entities.removeById("pn")
5.判断id对应实体、实体是否存在
 let en = viewer.entities.getOrCreateEntity(point1)//如果该 id 对应的实体不存在,则将其添加到集合中
 console.log(en)
 const isExist = viewer.entities.contains(en)//通过 contains 判断实体是否存在,则返回true,否则返回false
6.性能优化 (未)

在批量添加或修改实体时,可以使用viewer.entities.suspendEvents()viewer.entities.resumeEvents()方法来提高性能

// 暂停事件处理
viewer.entities.suspendEvents();

// 执行批量更新
for (let i = 0; i < 1000; i++) {
  viewer.entities.add({
    position: Cesium.Cartesian3.fromDegrees(Math.random() * 360 - 180, Math.random() * 180 - 90),
    point: {
      pixelSize: 10,
      color: Cesium.Color.RED,
    },
  });
}

// 恢复事件处理
viewer.entities.resumeEvents();

viewer.entities.suspendEvents() 和 viewer.entities.resumeEvents() 这两个方法只能用于暂停和恢复 Cesium 实体集合的事件处理。它们只能用于控制与实体相关的事件,不能用于控制场景中其他元素的事件。 

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值