From 52111b6cceb74893c05bc0e72a61a7f97a4593d8 Mon Sep 17 00:00:00 2001 From: fukunee Date: Sat, 19 Sep 2026 02:04:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=AE=9E=E4=BD=93=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=A1=BA=E5=BA=8F=EF=BC=9A=E6=A0=87=E8=AE=B0=E4=BE=BF?= =?UTF-8?q?=E7=AD=BE=E5=A7=8B=E7=BB=88=E5=9C=A8=E5=9F=8E=E5=B8=82/?= =?UTF-8?q?=E5=9B=BD=E5=AE=B6=E5=90=8D=E4=B8=8A=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scene/CesiumGlobe.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/scene/CesiumGlobe.js b/src/scene/CesiumGlobe.js index 8536bb5..c800041 100644 --- a/src/scene/CesiumGlobe.js +++ b/src/scene/CesiumGlobe.js @@ -114,6 +114,36 @@ export class CesiumGlobe { if (this._created) return; this._created = true; + // 调整实体渲染顺序:先渲染标签(城市/国家名),再渲染 Billboard(标记便签), + // 让词条标记始终显示在城市/国家名的上层。 + Cesium.DataSourceDisplay.defaultVisualizersCallback = function ( + scene, + entityCluster, + dataSource, + ) { + const entities = dataSource.entities; + return [ + new Cesium.LabelVisualizer(entityCluster, entities), + new Cesium.BillboardVisualizer(entityCluster, entities), + new Cesium.GeometryVisualizer( + scene, + entities, + dataSource._primitives, + dataSource._groundPrimitives, + ), + new Cesium.ModelVisualizer(scene, entities), + new Cesium.Cesium3DTilesetVisualizer(scene, entities), + new Cesium.PointVisualizer(entityCluster, entities), + new Cesium.PathVisualizer(scene, entities), + new Cesium.PolylineVisualizer( + scene, + entities, + dataSource._primitives, + dataSource._groundPrimitives, + ), + ]; + }; + const container = document.getElementById('cesium-container'); this.viewer = new Cesium.Viewer(container, {