| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- diff --git a/src/modules/cockpit/services/cesiumEngine.js b/src/modules/cockpit/services/cesiumEngine.js
- --- a/src/modules/cockpit/services/cesiumEngine.js
- +++ b/src/modules/cockpit/services/cesiumEngine.js
- @@ -100,12 +100,28 @@ function createBaseLayer(plan) {
-
- /**
- * 在宿主要素上创建 Viewer。
- + *
- + * **署名容器(票 25)**:`creditContainer` **不是开关,是「放哪个容器」**——
- + * Cesium 的 Viewer 构造写死 `defined(options.creditContainer) ? options.creditContainer : bottomContainer`,
- + * 随后 CesiumWidget **两条路径都会**建 CreditDisplay
- + * (`creditContainer.appendChild(innerCreditContainer)`)。
- + * 所以传 `false`/`''` 既关不掉、还会让 `getElement()` 拿到 null 而崩。
- + * 真正能生效的做法是**自己给一个不进 DOM 的容器**:Cesium 照旧把署名写进去,
- + * 但它不在文档流里,屏幕上不出现,destroy 时 Cesium 也会自行摘掉内部节点。
- + *
- + * 合法性前提(本部署已核实,勿轻易推翻):地形走 `CesiumTerrainProvider.fromUrl(本地 URL)`、
- + * 影像走内置 TMS 与 `UrlTemplateImageryProvider`、3D Tiles 走 `Cesium3DTileset.fromUrl(本地 URL)`,
- + * **全链路无 Cesium ion 服务与 ion 资产**。ion 署名义务只在用到 ion 资产时成立,
- + * 故此处隐藏署名不构成违约;自有数据源署名由地图信息面板在业务界面另行展示。
- + *
- * @param {Element} host 宿主要素(`.map-canvas`)
- * @param {object} [basemapPlan] `domain/basemap.js` 的底图计划(票 29);缺省 = 不配底图
- * @returns {Viewer}
- */
- export function createViewer(host, basemapPlan) {
- - const viewer = new Viewer(host, { ...VIEWER_OPTIONS, baseLayer: createBaseLayer(basemapPlan) })
- + // 票 25:离屏署名容器 —— 故意不 appendChild,署名因此不上屏。
- + const creditContainer = document.createElement('div')
- + const viewer = new Viewer(host, { ...VIEWER_OPTIONS, creditContainer, baseLayer: createBaseLayer(basemapPlan) })
-
- const controller = viewer.scene.screenSpaceCameraController
- controller.enableRotate = false
- @@ -399,7 +415,7 @@ function tilesetOptions(plan) {
- foveatedTimeDelay: 0.6,
- foveatedMinimumScreenSpaceErrorRelaxation: 0,
- // 普通 SSE 根据瓦片误差与相机到瓦片的距离决定细化,保持配置的质量取舍。
- - maximumScreenSpaceError: Number.isFinite(plan.maximumScreenSpaceError) ? plan.maximumScreenSpaceError : 96,
- + maximumScreenSpaceError: Number.isFinite(plan.maximumScreenSpaceError) ? plan.maximumScreenSpaceError : 64,
- cacheBytes: TILESET_CACHE_BYTES,
- maximumCacheOverflowBytes: TILESET_CACHE_OVERFLOW_BYTES,
- }
|