zhiyuan-007 5 ヶ月 前
コミット
cddb65b2d0

+ 28 - 0
src/unit/map/addLayer.js

@@ -75,6 +75,18 @@ export function SetBackground(){
     })
     })
 }
 }
 
 
+
+export function AddGDTheme(visible){
+    invokeParams('AddSingleLayer', {
+        "id": "GDTheme",
+        "title": "工地专题",
+        "visible": visible,
+        "opacity": 1,
+        "url": "https://cimweb.zjw.sh.cegn.cn:2008/MapProxyApi/getSceneServer/ptgl/42143789",
+        "type": "dynamic",
+    })
+}
+
 export function AddWhiteMold(visible){
 export function AddWhiteMold(visible){
     invokeParams('AddSingleLayer', {
     invokeParams('AddSingleLayer', {
         "id": "D8503010320240901",
         "id": "D8503010320240901",
@@ -294,6 +306,14 @@ export function ExtentGridPrismEffect(params){
 }
 }
 
 
 
 
+
+export function AddDataPoint(params){
+    invokeParams('AddDataPoint', {
+        "is_clear": params.is_clear,
+        "position": params.position
+    })
+}
+
 export async function PrismEffectService_sfky(params) {
 export async function PrismEffectService_sfky(params) {
     let url = await returnProxyUrl("https://cimweb.zjw.sh.cegn.cn:2008/MapProxyApi/getSceneServer/gxjh_fwjk/D9999990220240926") + '/1';
     let url = await returnProxyUrl("https://cimweb.zjw.sh.cegn.cn:2008/MapProxyApi/getSceneServer/gxjh_fwjk/D9999990220240926") + '/1';
     invokeParams('PrismEffectService', {
     invokeParams('PrismEffectService', {
@@ -529,6 +549,14 @@ export function clearAllLayer() {
     })
     })
 }
 }
 
 
+//关闭图层
+export function ClearMap() {
+    invokeParams('ClearMap',{
+        "is_draw": true,
+        "is_search": true,
+    })
+}
+
 
 
 export function AddSingleLayer(params){
 export function AddSingleLayer(params){
     debugger;
     debugger;

+ 2 - 2
src/views/c-cpns/Map.vue

@@ -27,8 +27,8 @@ export default {
     onMounted(()=>{
     onMounted(()=>{
       myBridge.bridgeContent =  bridge = new CityGis.Bridge({
       myBridge.bridgeContent =  bridge = new CityGis.Bridge({
         id: "i_map",
         id: "i_map",
-        url: 'https://cimweb.zjw.sh.cegn.cn:2007/VUE-Map-Tool-Widget-DK/#/jk_map?theme=dark&type=3D', //建科发布
-        //url: 'http://localhost:8081/#/jk_map?theme=dark&type=3D',
+        //url: 'https://cimweb.zjw.sh.cegn.cn:2007/VUE-Map-Tool-Widget-DK/#/jk_map?theme=dark&type=3D', //建科发布
+        url: 'http://localhost:8081/#/jk_map?theme=dark&type=3D',
         onReady: function () {
         onReady: function () {
           console.log("地图创建完成")
           console.log("地图创建完成")
         }
         }

+ 76 - 118
src/views/c-cpns/VisualizationBottom.vue

@@ -1,10 +1,9 @@
 <template>
 <template>
   <div id="visualizationBottom">
   <div id="visualizationBottom">
     <div class="middle-content">
     <div class="middle-content">
-      <div  class="single" v-for="item in bottomList" :class="[item.chosen?'single_chosen':'']" :key="item.id">
+      <div  class="single" v-for="item in bottomList" @click="changePath(item)" :class="[item.chosen?'single_chosen':'']" :key="item.id">
         <img v-if="item.chosen" :src="imgUrl(item)" alt="">
         <img v-if="item.chosen" :src="imgUrl(item)" alt="">
         <img v-else :src="imgUrl(item)" alt="">
         <img v-else :src="imgUrl(item)" alt="">
-        <span  @click="changePath(item)">{{item.label}}</span>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
@@ -15,7 +14,8 @@ import {ref} from "vue";
 import router from "@/router/index.js";
 import router from "@/router/index.js";
 import {useMapStore} from "@/store/mapStore.js";
 import {useMapStore} from "@/store/mapStore.js";
 import {
 import {
-  addPartWhiteMold,
+  AddDataPoint, AddGDTheme,
+  addPartWhiteMold, ClearMap,
   FeatureThreeDimension,
   FeatureThreeDimension,
   GroundPrismEffect, importantAreaPosition, LimitHeightAnalysis,
   GroundPrismEffect, importantAreaPosition, LimitHeightAnalysis,
   PrismEffectService_jkbhq,
   PrismEffectService_jkbhq,
@@ -29,139 +29,95 @@ export default {
     let bottomList = ref([
     let bottomList = ref([
       {
       {
         id:"01",
         id:"01",
-        name:"kygl",
+        name:"overallSituation",
         chosen:false,
         chosen:false,
-        label:"空域管理"
+        label:"总体态势"
       },
       },
       {
       {
         id:"02",
         id:"02",
-        name:"sfky",
+        name:"perception",
         chosen:false,
         chosen:false,
-        label:"飞行空域"
+        label:"实时感知"
       },
       },
       {
       {
         id:"03",
         id:"03",
-        name:"jkbhq",
+        name:"vehicleSimulation",
         chosen:false,
         chosen:false,
-        label:"净空保护区"
+        label:"车辆仿真模拟"
+      },
+      {
+        id:"04",
+        name:"construction",
+        chosen:false,
+        label:"工地管理"
+      },
+      {
+        id:"05",
+        name:"foundation-pit",
+        chosen:false,
+        label:"深基坑"
       }
       }
     ])
     ])
     function changePath(item){
     function changePath(item){
+      debugger
       bottomList.value.forEach((i)=>{
       bottomList.value.forEach((i)=>{
         if(i.name == item.name){
         if(i.name == item.name){
-          i.chosen = !i.chosen;
-          if(i.chosen){
-            if(item.name == "kygl"){
-              mapStore.right_board = true;
-              addPartWhiteMold(true)
-              GroundPrismEffect({
-                status:"show",
-                startHeight:0,
-                items:[
-                  {
-                    "id": 1,
-                    "name": "",
-                    "depth": 100,
-                    "material": [
-                      201,254,246,
-                      0.2
-                    ]
-                  },
-                  {
-                    "id": 2,
-                    "name": "",
-                    "depth": 100,
-                    "material": [
-                      180,240,249,
-                      0.24
-                    ]
-                  },
-                  {
-                    "id": 3,
-                    "name": "",
-                    "depth": 100,
-                    "material": [
-                      151,220,252,
-                      0.28
-                    ]
-                  },
-                  {
-                    "id": 4,
-                    "name": "",
-                    "depth": 100,
-                    "material": [
-                      118,198,254,
-                      0.32
-                    ]
-                  },
-                  {
-                    "id": 5,
-                    "name": "",
-                    "depth": 100,
-                    "material": [
-                      81,174,255,
-                      0.36
-                    ]
-                  },
-                  {
-                    "id": 6,
-                    "name": "",
-                    "depth": 100,
-                    "material": [
-                      46,153,255,
-                      0.40
-                    ]
-                  },
-                  {
-                    "id": 7,
-                    "name": "",
-                    "depth": 400,
-                    "material": [
-                      4,138,255,
-                      0.44
-                    ]
-                  }
-                ]
-              });
-              importantAreaPosition(3597, -3756, 4154, 4, 47);
-            }else if(item.name == "sfky"){
-              PrismEffectService_sfky({
-                status:"show"
-              });
-            }else{
-              PrismEffectService_jkbhq({
-                status:"show"
-              });
-            }
-          }else{
-            if(item.name == "kygl"){
-              mapStore.right_board = false;
-              addPartWhiteMold(false)
-              LimitHeightAnalysis({
-                status:"hide"
-              })
-              GroundPrismEffect({
-                status:"hide"
-              })
-            }else if(item.name == "sfky"){
-              PrismEffectService_sfky({
-                status:"hide"
-              });
-            }else{
-              PrismEffectService_jkbhq({
-                status:"hide"
-              });
-            }
+          i.chosen = true;
+        }else{
+          i.chosen = false;
+        }
+      });
+      changeTheme();
+    }
+    function changeTheme(){
+      mapStore.layerShow = false;
+      AddDataPoint({
+        is_clear:true
+      })
+      AddGDTheme(false);
+      debugger
+      bottomList.value.forEach((item)=>{
+        if(item.chosen){
+          debugger
+          if(item.name == "overallSituation"){
+            mapStore.layerShow = true;
+          }else if(item.name == "perception"){
+            debugger
+            AddDataPoint({
+              is_clear:true,
+              position: [
+                {
+                  "mapx": -29663.623577080696,
+                  "mapy": 6268.511258577111
+                },
+                {
+                  "mapx": -29610.623577080696,
+                  "mapy": 6201.511258577111
+                },
+                {
+                  "mapx": -28663.623577080696,
+                  "mapy": 6168.511258577111
+                }
+              ]
+            })
+          }else if(item.name == "vehicleSimulation"){ //车辆仿真模拟 - 添加一辆车固定轨迹
+
+
+          }else if(item.name == "construction"){ //工地管理 添加工地
+            AddGDTheme(true);
+          }else if(item.name == "foundation-pit"){ //深基坑  添加工地、并定位到基坑位置
+            AddGDTheme(true);
+            importantAreaPosition(3021, 2012, 494, 337, 16);
           }
           }
 
 
         }
         }
-      });
+      })
     }
     }
     function imgUrl(item){
     function imgUrl(item){
       if(item.chosen){
       if(item.chosen){
-        return new URL(`../../assets/imgs/lowAltitude/${item.name}1.png`, import.meta.url).href
+        return new URL(`../../assets/imgs/cim/${item.name}2.png`, import.meta.url).href
       }else{
       }else{
-        return new URL(`../../assets/imgs/lowAltitude/${item.name}2.png`, import.meta.url).href
+        return new URL(`../../assets/imgs/cim/${item.name}1.png`, import.meta.url).href
       }
       }
     }
     }
     return {
     return {
@@ -180,7 +136,7 @@ export default {
   position: absolute;
   position: absolute;
   bottom: 0;
   bottom: 0;
   z-index: 2;
   z-index: 2;
-  background: url("../../assets/imgs/lowAltitude/big_bottom.png") no-repeat;
+  background: url("../../assets/imgs/cim/lowerBase.png") no-repeat;
   background-size: 100% 100%;
   background-size: 100% 100%;
   display: flex;
   display: flex;
   justify-content: center;
   justify-content: center;
@@ -193,9 +149,10 @@ export default {
     align-items: flex-end;
     align-items: flex-end;
     .single{
     .single{
       width: 163px;
       width: 163px;
-      height: 59px;
+      height: 100%;
       display: flex;
       display: flex;
-      justify-content: center;
+      flex-direction: column;
+      justify-content: flex-end;
       align-items: center;
       align-items: center;
       span{
       span{
         cursor: pointer;
         cursor: pointer;
@@ -211,6 +168,7 @@ export default {
       justify-content: center;
       justify-content: center;
       align-items: center;
       align-items: center;
       background-size: cover;
       background-size: cover;
+      padding-bottom:40px;
       //img{
       //img{
       //  padding-top: 10px;
       //  padding-top: 10px;
       //}
       //}

+ 3 - 2
src/views/c-cpns/VisualizationHeader.vue

@@ -2,7 +2,7 @@
   <div id="visualizationHeader">
   <div id="visualizationHeader">
     <div class="left-title">
     <div class="left-title">
       <span>
       <span>
-        上海市无人驾驶航空器综合监管服务平台
+        上海CIM平台
       </span>
       </span>
     </div>
     </div>
 <!--    <div class="top-menu">-->
 <!--    <div class="top-menu">-->
@@ -90,7 +90,7 @@ export default {
   top: 0;
   top: 0;
   left: 0;
   left: 0;
   z-index: 2;
   z-index: 2;
-  background: url("../../assets/imgs/lowAltitude/big_title.png") no-repeat;
+  background: url("../../assets/imgs/cim/bigTitle.png") no-repeat;
   background-size: 100% 100%;
   background-size: 100% 100%;
   display: flex;
   display: flex;
   justify-content: center;
   justify-content: center;
@@ -108,6 +108,7 @@ export default {
       font-weight: 400;
       font-weight: 400;
       font-size: 32px;
       font-size: 32px;
       color: #FFFFFF;
       color: #FFFFFF;
+      letter-spacing: 8px;
       text-shadow: 0px 8px 1px rgba(19,80,143,0.1);
       text-shadow: 0px 8px 1px rgba(19,80,143,0.1);
       background: linear-gradient(0deg, rgba(119,186,255,1) 0%, rgba(233,248,255,1) 73%, rgba(255,255,255,1) 100%);
       background: linear-gradient(0deg, rgba(119,186,255,1) 0%, rgba(233,248,255,1) 73%, rgba(255,255,255,1) 100%);
       opacity: 0.89;
       opacity: 0.89;