无人机管理后台前端(已迁走)
罗广辉
2025-10-10 8bfd657326eb9d4bd9b63920cfe3bd362cea4445
src/utils/cesium/publicCesium.js
@@ -143,8 +143,28 @@
      this.viewer?.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK) // 禁用双击
      if (terrain) {
         // 正则:第一位非0,第二位任意数字,后10位都是0
         const re = /^[1-9]\d0{10}$/
         let result = null
         // 1️⃣先判断 areaCode
         if (re.test(store.state.user.userInfo.detail.areaCode)) {
            result = store.state.user.userInfo.detail.areaCode.slice(0, 6)
         } else {
            // 2️⃣如果不满足,从 ancestors 里找
            const matchedItems = store.state.user.userInfo.detail.ancestors
               .split(',')
               .filter(item => re.test(item)) // 过滤出符合条件的
            // 取第一个符合条件的前6位(可以改成 last one 看需求)
            if (matchedItems.length > 0) {
               result = matchedItems[0].slice(0, 6)
            }
         }
         try {
            Cesium.CesiumTerrainProvider.fromUrl(`${import.meta.env.VITE_APP_TERRAIN_URL}`, {
            Cesium.CesiumTerrainProvider.fromUrl(`${import.meta.env.VITE_APP_TERRAIN_URL}${result}`, {
               requestVertexNormals: true, // 启用地形法线增强立体感
               requestWaterMask: true, // 启用水体遮罩效果
            }).then(terrainProvider => {