zouyaoji / vue-cesium

🎉 Vue 3.x components for CesiumJS.
https://zouyaoji.top/vue-cesium
MIT License
1.43k stars 312 forks source link

[Bug Report] VcPrimitiveCluster中label显示时机异常 #541

Open MangMax opened 3 months ago

MangMax commented 3 months ago

VueCesium version

3.2.7

OS/Browsers version

Edge 123.0.2420.65

Vue version

3.4.21

Cesium version

1.115.0

Reproduction Link

https://codepen.io/1061875478/pen/qBwVrEO

Steps to reproduce

https://codepen.io/1061875478/pen/qBwVrEO 放大缩小地图,可以发现有些label上面没有billboard,但其实他们应该同时出现,根据聚类数量判断应该是label出现过早 image

What is Expected?

label和pooint、billboard出现和消失的时机应该一样并且符合聚类数量统计

What is actually happening?

有时候label会单独出现,而billboard则不会

zouyaoji commented 3 months ago

跟了一下暂时没找到原因, 你也可以尝试分析一下源码看看。

https://github.com/tingyuxuan2302/cesium-vue3-vite/blob/github/src/utils/cesiumCtrl/primitiveCluster.js

https://github.com/mourner/kdbush

zouyaoji commented 3 months ago

你空了测测实体有这个问题没。我对比了聚合代码,就是参考 https://github.com/CesiumGS/cesium/blob/main/packages/engine/Source/DataSources/EntityCluster.js 改的,聚合逻辑是一样的,可能原因在渲染上。

MangMax commented 3 months ago

测试了实体没有出现这个问题,代码上暂时没看出什么问题

zouyaoji commented 3 months ago

嗯,着急先用实体吧,图元的找到原因了再说。我看实体的聚合代码,用的也是primitive api。