Преглед изворни кода

底图TDT进行替换,双击事件异常修复

mork пре 12 часа
родитељ
комит
f5a8b1b356
2 измењених фајлова са 48 додато и 24 уклоњено
  1. 46 22
      src/components/Map.vue
  2. 2 2
      src/views/HomeView.vue

+ 46 - 22
src/components/Map.vue

@@ -17,7 +17,7 @@ export default {
         yxt_zj: {}
       },
       new_module: "",
-      new_module_param: {}
+      new_module_param: {},
     };
   },
   mounted() {
@@ -150,9 +150,14 @@ export default {
         scene3DOnly: true, //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
         infoBox: false, //是否显示点击要素之后显示的信息
         shouldAnimate: false, //是否自动播放
+        scene: {
+          doubleClickPickEnabled: false, //禁止双击选择要素
+        },
       });
       // 移动端禁止旋转
       viewer.scene.screenSpaceCameraController.tiltEventTypes = [];
+      // 移除默认的双击事件,防止双击导致地图放大和倾斜
+      viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(SkyScenery.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
       // 禁止地图拖动
       // viewer.scene.screenSpaceCameraController.enableRotate=false;
       // 启用FXAA抗锯齿
@@ -228,10 +233,10 @@ export default {
       return this.mapLoaded;
     },
     addBaseMap() {
-      let layer1 = this.addTDT("img")
-      let layer2 = this.addTDT("cia")
-      let layer3 = this.addTDT("vec")
-      let layer4 = this.addTDT("cva")
+      // let layer1 = this.addTDT("img")
+      // let layer2 = this.addTDT("cia")
+      // let layer3 = this.addTDT("vec")
+      // let layer4 = this.addTDT("cva")
       //   // shmap_blue_web	暗蓝色底图(互联网)
       //   // shmap_grey_web	浅灰色底图(互联网)
       //   // shmap_normal_web	标准版底图(互联网)
@@ -239,15 +244,32 @@ export default {
       // let layer3 = this.addZWDT("shmap_base_web")
 
 
-      layer1.show = false;
-      layer2.show = false;
-      layer3.show = true;
-      layer4.show = true;
+      // layer1.show = false;
+      // layer2.show = false;
+      // layer3.show = true;
+      // layer4.show = true;
+
+      // this.baseMapObj.yxt = layer1;
+      // this.baseMapObj.yxt_zj = layer2;
+      // this.baseMapObj.xht = layer3;
+      // this.baseMapObj.xht_zj = layer4;
+
+      this.createMapLayer("xht");
+
+    },
+    createMapLayer(type) {
+        if(type == "xht"){
+          return viewer.imageryLayers.addImageryProvider(new SkyScenery.ArcGisMapServerImageryProvider({
+            url: "https://service-api.onemap.sh.gov.cn/data-service-manage-service/MapProxyApi/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBsaWNhdGlvbl9pZCI6NjEsImFwcGxpY2F0aW9uX25hbWUiOiLpnZLmtabkuozkuInnu7TmnI3liqHns7vnu58iLCJleHAiOjIwNDY2Nzg0MDN9.IKUMdjUX4U1jncIUNren-iotL7duXI90aLECMjpvUX8/shmap_normal_web/MapServer",
+            enablePickFeatures: false, // 禁用要素拾取功能以提高性能
+          }))
+        }else{
+          return viewer.imageryLayers.addImageryProvider(new SkyScenery.ArcGisMapServerImageryProvider({
+            url: "https://service-api.onemap.sh.gov.cn/data-service-manage-service/MapProxyApi/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBsaWNhdGlvbl9pZCI6NjEsImFwcGxpY2F0aW9uX25hbWUiOiLpnZLmtabkuozkuInnu7TmnI3liqHns7vnu58iLCJleHAiOjIwNDY2Nzg0MDN9.IKUMdjUX4U1jncIUNren-iotL7duXI90aLECMjpvUX8/shmap_air_2023_web/MapServer",
+            enablePickFeatures: false, // 禁用要素拾取功能以提高性能
+          }))
+        }
 
-      this.baseMapObj.yxt = layer1;
-      this.baseMapObj.yxt_zj = layer2;
-      this.baseMapObj.xht = layer3;
-      this.baseMapObj.xht_zj = layer4;
     },
     // TDT
     addTDT(type) {
@@ -264,7 +286,7 @@ export default {
           // format:"image/png",
           tileMatrixSetID: "w",
           TileMatrixLabels: matrixIds,
-          subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
+          subdomains: ["t0","t1","t2","t3","t4","t5","t6","t7"],
           minimumLevel: 1,
           maximumLevel: 18,
           tilingScheme: new SkyScenery.WebMercatorTilingScheme()
@@ -310,16 +332,18 @@ export default {
       // ZWDT
       switch (param.type) {
         case "yxt":
-          this.baseMapObj.yxt.show = true;
-          this.baseMapObj.yxt_zj.show = true;
-          this.baseMapObj.xht.show = false;
-          this.baseMapObj.xht_zj.show = false;
+          // this.baseMapObj.yxt.show = true;
+          // this.baseMapObj.yxt_zj.show = true;
+          // this.baseMapObj.xht.show = false;
+          // this.baseMapObj.xht_zj.show = false;
+          this.createMapLayer("yxt");
           break;
         case "xht":
-          this.baseMapObj.yxt.show = false;
-          this.baseMapObj.yxt_zj.show = false;
-          this.baseMapObj.xht.show = true;
-          this.baseMapObj.xht_zj.show = true
+          // this.baseMapObj.yxt.show = false;
+          // this.baseMapObj.yxt_zj.show = false;
+          // this.baseMapObj.xht.show = true;
+          // this.baseMapObj.xht_zj.show = true
+          this.createMapLayer("xht");
           break;
       }
     },

+ 2 - 2
src/views/HomeView.vue

@@ -88,8 +88,8 @@
     </div>
 
     <div class="kdwlContorl">
-      <div :class="{ 'ckzb-btn': true, isActive: kdwlPanelShow }" @click="handleOpenkdwlPanelShow" v-if="!isMobile">快递物流</div>
-      <div :class="{ 'ckzb-btn-mb': true, isActive: kdwlInfoDrawerShow }" @click="handleOpenkdwlPanelShowMb" v-if="isMobile">快递物流</div>
+      <div :class="{ 'ckzb-btn': true, isActive: kdwlPanelShow }" @click="handleOpenkdwlPanelShow" v-if="!isMobile">近期快递</div>
+      <div :class="{ 'ckzb-btn-mb': true, isActive: kdwlInfoDrawerShow }" @click="handleOpenkdwlPanelShowMb" v-if="isMobile">近期快递</div>
       <div :class="isMobile == true ? 'kdwlPanel-mb':'kdwlPanel'" v-show="kdwlPanelShow">
         <el-scrollbar>
           <ul>