Cesium图标聚合中,获取脱离聚合的实体

在Cesium的官方图标聚合例子中,我们通过添加监听可以很容易的获取到当前聚合的实体列表,见 官方例子
但在我的项目中,需要对当前脱离聚合的图标再进行一些处理,哪些实体脱离了聚合呢?Cesium并没有给出接口获取。
翻看了dataSource的数据结构后,发现了一个有意思的地方:
我是使用cluster.point来展示聚合效果的

 function (clusteredEntities, cluster) {
       cluster.point.show = true;
        cluster.point.id = cluster.label.id;
        cluster.label.show = true;
        cluster.label.text = (clusteredEntities.length ).toLocaleString();
       // 。。。设置一些效果

然后我发现在dataSource.clustering._clusterPointCollection._pointPrimitives中放置了当前的聚合数据;因此可以通过以下代码获取

 let arrCluster = dataSource.clustering._clusterPointCollection._pointPrimitives.map(e=> { return e.id}).flat();

这个arrCluster 就是当前参与了聚合的所有实体了,然后再与自己的标绘数据比较就可以找到所有未参与聚合的实体并进行处理了。这个方法也算是无奈之中的下策了,毕竟还是要多耗费查找的资源。希望Cesium以后可以提供脱离聚合的数据吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值