Kaynağa Gözat

低空修改250330-01

zhiyuan-007 4 hafta önce
ebeveyn
işleme
908c9ceb56
2 değiştirilmiş dosya ile 70 ekleme ve 19 silme
  1. 57 18
      src/components/mapJK.vue
  2. 13 1
      src/config/basicTool.json

+ 57 - 18
src/components/mapJK.vue

@@ -128,6 +128,10 @@ export default {
       power_wj_23:[]
     };   //当前无极网格
     let currentRealPowerLevel = null; //当前无极网格层级
+    let ScaleHandleCubeHeight = {
+      minZ:null,
+      maxZ:null
+    }
     let popupEnabled = false;
     onMounted(() =>{
       bus.on('CreateMap',() =>{
@@ -219,6 +223,9 @@ export default {
           case "ShowLayersWithScaleEvents":
             showLayersWithScaleEvents(params);
             break;
+          case "ChangeScaleEventCubeHeight":
+            changeScaleEventCubeHeight(params);
+            break;
           case "ViewshedAnalysis":
             viewshedAnalysis(params);
             break;
@@ -872,9 +879,32 @@ export default {
       }
 
 
+      function checkCubeHeight(level, min,max){
+        if(currentRealPowerLevel != level){
+          ScaleHandleCubeHeight.minZ = min;
+          ScaleHandleCubeHeight.maxZ = max;
+        }
+      }
+
+
+      function changeScaleEventCubeHeight(params){
+        let minZ = params.minZ;
+        let maxZ = params.maxZ;
+        showThreeCubeDetail({
+          "id": "power_wj" + currentRealPowerLevel,
+          "status": "hide",
+        })
+        ScaleHandleCubeHeight = {
+          minZ:minZ,
+          maxZ: maxZ
+        }
+        showCubeWithScaleEventsReturn(m_view.scale);
+      }
 
       //不同比例尺加载网格
       function showCubeWithScaleEventsReturn(scaleValue){
+        debugger
+        let minZ,maxZ,heightRange;
         switch (true) {
           case (scaleValue > 1500000):  //15级以上隐藏
             getCurrentRealPower({
@@ -894,6 +924,7 @@ export default {
             currentRealPowerLevel = null;
             break;
           case (scaleValue <= 1500000 && scaleValue > 300000): //15级
+            checkCubeHeight(15, 0,1000);
             currentRealPowerLevel = 15;
             getCurrentRealPower({
               status:"show",
@@ -901,13 +932,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 1000,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 15,
               size:{ x: 1582.2726823222256, y: 1856.6079667204758, z: 1724.5956527210265 }
             })
             break;
           case (scaleValue <= 300000 && scaleValue > 150000): //16级
+            checkCubeHeight(16, 0,500);
             currentRealPowerLevel = 16;
             getCurrentRealPower({
               status:"show",
@@ -915,13 +947,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 500,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 16,
               size:{ x: 844.8477050379952, y: 990.1345935064928, z: 862.239544684298 }
             })
             break;
           case (scaleValue <= 150000 && scaleValue > 100000): //17级
+            checkCubeHeight(17, 0,200);
             currentRealPowerLevel = 17;
             getCurrentRealPower({
               status:"show",
@@ -929,13 +962,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 200,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 17,
               size:{ x: 424.0518521273334, y: 492.09123171765896, z: 431.1052029077298 }
             })
             break;
           case (scaleValue <= 100000 && scaleValue > 40000): //18级
+            checkCubeHeight(18, 0,100);
             currentRealPowerLevel = 18;
             getCurrentRealPower({
               status:"show",
@@ -943,13 +977,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 100,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 18,
               size:{ x: 211.66439868324142, y: 246.49964316944533, z: 215.5489592181181 }
             })
             break;
           case (scaleValue <= 40000 && scaleValue > 15000): //19级
+            checkCubeHeight(19, 0,100);
             currentRealPowerLevel = 19;
             getCurrentRealPower({
               status:"show",
@@ -957,13 +992,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 100,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 19,
               size:{ x: 105.79869494173579, y: 123.19232219036257, z: 107.77356906534683 }
             })
             break;
           case (scaleValue <= 15000 && scaleValue > 6000): //20级
+            checkCubeHeight(20, 0,50);
             currentRealPowerLevel = 20;
             getCurrentRealPower({
               status:"show",
@@ -971,13 +1007,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 50,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 20,
               size:{ x: 52.887881893650956, y: 61.627412608112536, z: 53.887012166300096 }
             })
             break;
           case (scaleValue <= 6000 && scaleValue > 3000): //21级
+            checkCubeHeight(21, 0,50);
             currentRealPowerLevel = 21;
             getCurrentRealPower({
               status:"show",
@@ -985,13 +1022,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 30,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 21,
               size:{ x: 26.44107169853396, y: 30.815525255577086, z: 26.943221541824816 }
             })
             break;
           case (scaleValue <= 3000 && scaleValue > 1500): //22级
+            checkCubeHeight(22, 0,30);
             currentRealPowerLevel = 22;
             getCurrentRealPower({
               status:"show",
@@ -999,13 +1037,14 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 30,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 22,
               size:{ x: 13.222978864358083, y: 15.406742669116284, z: 13.471596544164798 }
             })
             break;
           case (scaleValue <= 1500): //23级
+            checkCubeHeight(23, 90,120);
             currentRealPowerLevel = 23;
             getCurrentRealPower({
               status:"show",
@@ -1013,8 +1052,8 @@ export default {
               fields:["demographics","green","river","road","collision_buffer","no_fly_zone_buffer","clear_zone_buffer"],
               center:m_view.center,
               radius: (m_view.extent.xmax - m_view.extent.xmin) > (m_view.extent.ymax - m_view.extent.ymin) ? (m_view.extent.xmax - m_view.extent.xmin) : (m_view.extent.ymax - m_view.extent.ymin),
-              minZ: 0,
-              maxZ: 30,
+              minZ: ScaleHandleCubeHeight.minZ,
+              maxZ: ScaleHandleCubeHeight.maxZ,
               level: 23,
               size:{ x: 6.7358, y: 7.7024, z: 6.6111 }
             })

+ 13 - 1
src/config/basicTool.json

@@ -42,7 +42,7 @@
             "title":"BaseMap",
             "visible": true,
             "opacity": 1,
-            "url": "https://cimweb.zjw.sh.cegn.cn:2008/MapServiceProxy/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDMwNDExNzUsImtleSI6IjkzNDkzMzIxIiwic2VydmljZU5vIjoiRDkwMDEwMDcxMjAyMzA4MDEiLCJ1c2VybmFtZSI6InB0Z2wifQ.COZ3rKPYx-BhuGoMMgsdM_5koCxkhRdON9B3r8Vhslo",
+            "url": "https://cimweb.zjw.sh.cegn.cn:2008/MapServiceProxy/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDM1NjMwMDMsImtleSI6IjkzNDkzMzIxIiwic2VydmljZU5vIjoiRDkwMDEwMDcxMjAyMzA4MDEiLCJ1c2VybmFtZSI6InB0Z2wifQ.ATPOJBjmtqHSHELJXw7atsNrlEIKGx0ATKoZljc7SBQ",
             "token": ""
           }
         }
@@ -167,6 +167,18 @@
           }
         }
       },
+      {
+        "code": "1-8-2",
+        "title": "比例尺切换加载网格修改高度",
+        "data": {
+          "ActionName": "ChangeScaleEventCubeHeight",
+          "Parameters": {
+            "minZ":30,
+            "maxZ":40,
+            "token": ""
+          }
+        }
+      },
       {
         "code": "1-8-1",
         "title": "比例尺切换影像切片事件",