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, {