Quellcode durchsuchen

底图允许缩放到13级

Bella vor 2 Jahren
Ursprung
Commit
49a12568e3

+ 12 - 19
public/static/config/config.js

@@ -37,32 +37,19 @@ var systemConfig = {
     crs: "",
     url: "http://aimap.pudong.sh:5236/zjmap/reproduction-service/maps/rest/services/sat-2022s2/proxy?AccessKey=lUaEMxqqhZKLSImGuP/Ergx47orYVyIqHVgxfyGpIurKAy9kdq5uU1cWuTuIXeOM",
     resolutions: [
-      132.2919312505292, 
-      52.91677250021167, 
-      26.458386250105836,
-      13.229193125052918, 
-      5.291677250021167, 
-      2.6458386250105836,
-      1.3229193125052918, 
-      0.5291677250021167,
-      0.26458386250105836,
-      0.13229193125052918,
+      132.2919312505292, 52.91677250021167, 26.458386250105836,
+      13.229193125052918, 5.291677250021167, 2.6458386250105836,
+      1.3229193125052918, 0.5291677250021167, 0.26458386250105836,
+      0.13229193125052918, 0.0529167725002, 0.0264583862501, 0.0132291931251,
+      0.00529167725, 0.002645838625, 0.0013229193125,
     ],
     minZoom: 0,
-    maxZoom: 9,
+    maxZoom: 14,
   },
   imageryLayerSat2018s2: {
     crs: "",
     // url: "http://aimap.pudong.sh:5236/zjmap/reproduction-service/maps/rest/services/sat-2022s1/proxy?AccessKey=lUaEMxqqhZKLSImGuP/Ergx47orYVyIqHVgxfyGpIurKAy9kdq5uU1cWuTuIXeOM",
     url: "http://aimap.pudong.sh:5236/zjmap/reproduction-service/maps/rest/services/sat-2018s2/proxy?AccessKey=lUaEMxqqhZKLSImGuP/Ergx47orYVyIqHVgxfyGpIurKAy9kdq5uU1cWuTuIXeOM",
-    resolutions: [
-      132.2919312505292, 52.91677250021167, 26.458386250105836,
-      13.229193125052918, 5.291677250021167, 2.6458386250105836,
-      1.3229193125052918, 0.5291677250021167, 0.26458386250105836,
-      0.13229193125052918,
-    ],
-    minZoom: 0,
-    maxZoom: 9,//7
   },
 };
 
@@ -128,3 +115,9 @@ var targetColor = [
   [220, 20, 60],
   [199, 21, 133],
 ];
+
+// 疑点,非疑点下的图斑颜色设置
+var caseColorChange = {
+  "isPointColor":[0, 230, 255],
+  "notPointColor":[0, 100, 240],
+}

+ 47 - 43
src/components/map/Map.vue

@@ -9,7 +9,7 @@ export default {
     return {
       map: "",
       layers: "",
-      polygon: []
+      polygon: [],
     };
   },
   mounted() {
@@ -17,14 +17,14 @@ export default {
     this.$nextTick(() => {
       this.mapInit();
       let that = this;
-      this.map.on("move", e => {
+      this.map.on("move", (e) => {
         if (that.index == that.mouseIndex) {
           let center = that.map.getCenter();
           let zoom = that.map.getZoom();
           this.$emit("changeCenterZoom", {
             center: [center.lat, center.lng],
             zoom: zoom,
-            index: that.index
+            index: that.index,
           });
         }
       });
@@ -36,28 +36,34 @@ export default {
     addSinglePolygon(state) {
       this.$nextTick(() => {
         if (!state && this.polygon) {
-          this.polygon.forEach(item => {
+          this.polygon.forEach((item) => {
             this.map.removeLayer(item);
           });
           this.addSinglePolygon(true);
-        } else if (this.$store.state.selectSelectDataMap && this.$store.state.selectSelectDataMap.singlePolygon) {
-          for (let item in this.$store.state.selectSelectDataMap.singlePolygon) {
-            this.$store.state.selectSelectDataMap.singlePolygon[item].forEach(item => {
-              let geometry = item.geometry;
-              // 经纬度等上海2000转为经纬度坐标后再重新修改
-              let coord = JSON.parse(geometry).geometry.coordinates[0];
-              let correctCoord = publicFun.latLngsCorrection(coord);
-              let coordinates = publicFun.latLngsToReverse(correctCoord);
-              console.log(coord, correctCoord, coordinates);
-              let polygon = L.polygon(coordinates, {
-                color: "#FF0000",
-                weight: 3,
-                fillColor: "#FF0000",
-                opacity: 1,
-                fillOpacity: 0
-              }).addTo(this.map);
-              this.polygon.push(polygon);
-            });
+        } else if (
+          this.$store.state.selectSelectDataMap &&
+          this.$store.state.selectSelectDataMap.singlePolygon
+        ) {
+          for (let item in this.$store.state.selectSelectDataMap
+            .singlePolygon) {
+            this.$store.state.selectSelectDataMap.singlePolygon[item].forEach(
+              (item) => {
+                let geometry = item.geometry;
+                // 经纬度等上海2000转为经纬度坐标后再重新修改
+                let coord = JSON.parse(geometry).geometry.coordinates[0];
+                let correctCoord = publicFun.latLngsCorrection(coord);
+                let coordinates = publicFun.latLngsToReverse(correctCoord);
+                console.log(coord, correctCoord, coordinates);
+                let polygon = L.polygon(coordinates, {
+                  color: "#FF0000",
+                  weight: 3,
+                  fillColor: "#FF0000",
+                  opacity: 1,
+                  fillOpacity: 0,
+                }).addTo(this.map);
+                this.polygon.push(polygon);
+              }
+            );
           }
         }
       });
@@ -68,29 +74,29 @@ export default {
         "+proj=tmerc +lat_0=0 +lon_0=121.2751921 +k=1 +x_0=0 +y_0=-3457147.81 +ellps=krass +units=m +no_defs",
         {
           resolutions: [
-            132.2919312505292, 52.91677250021167, 26.458386250105836, 13.229193125052918, 5.291677250021167, 2.6458386250105836,
-            1.3229193125052918, 0.5291677250021167, 0.26458386250105836, 0.13229193125052918
+            132.2919312505292, 52.91677250021167, 26.458386250105836,
+            13.229193125052918, 5.291677250021167, 2.6458386250105836,
+            1.3229193125052918, 0.5291677250021167, 0.26458386250105836,
+            0.13229193125052918, 0.0529167725002, 0.0264583862501,
+            0.0132291931251, 0.00529167725, 0.002645838625, 0.0013229193125,
           ],
           origin: [-66000, 75000],
-          bounds: L.bounds([-65000, -76000], [75000, 72000])
+          bounds: L.bounds([-65000, -76000], [75000, 72000]),
         }
       );
       this.map = L.map(this.$refs.map, {
         crs: crs,
         zoom: 1,
         minZoom: 0,
-        maxZoom: 7,
+        maxZoom: 14,
         attributionControl: false,
-        zoomControl: false
+        zoomControl: false,
       }).setView(map2DViewer.map.getCenter(), map2DViewer.map.getZoom());
 
       //添加默认图层
-      var layer = L.esri
-        .tiledMapLayer({
-          tileSize: 512,
-          url: this.mapUrl
-        })
-        .addTo(this.map);
+      let layer = this.$store.state.mapMethodsCollection
+        .get("RENDER")
+        .addTiledMapLayer(this.mapUrl);
       this.layers = layer;
     },
     setView: function (coord, zoom) {
@@ -104,17 +110,15 @@ export default {
       this.$nextTick(() => {
         if (this.map) {
           this.map.removeLayer(this.layers);
-          var layer = L.esri
-            .tiledMapLayer({
-              tileSize: 512,
-              url: this.mapUrl
-            })
+          let layer = this.$store.state.mapMethodsCollection
+            .get("RENDER")
+            .addTiledMapLayer(this.mapUrl)
             .addTo(this.map);
           this.layers = layer;
           this.map.invalidateSize(true);
         }
       });
-    }
+    },
   },
   watch: {
     centerZoom: {
@@ -123,7 +127,7 @@ export default {
           this.setView(newValue.center, newValue.zoom);
         }
       },
-      deep: true
+      deep: true,
     },
     centerZoomInit: {
       handler(newValue, oldValue) {
@@ -132,9 +136,9 @@ export default {
           this.map.setView(center, newValue.zoom);
         }
       },
-      deep: true
-    }
-  }
+      deep: true,
+    },
+  },
 };
 </script>
 <style scoped>

+ 50 - 33
src/components/map/MapHolder.vue

@@ -98,6 +98,7 @@ export default {
       deleteGroupFromMap: this.deleteGroupFromMap,
       drawGeometry: this.drawGeometry,
       deleteGeometry: this.deleteGeometry,
+      addTiledMapLayer: this.addTiledMapLayer,
     });
   },
   beforeDestroyed() {
@@ -166,9 +167,17 @@ export default {
     },
   },
   methods: {
-    // 添加tiledMapLayer图层
-    addTiledMapLayer(url){
-
+    // 添加tiledMapLayer图层 -- 针对arcgis rest services
+    addTiledMapLayer(url) {
+      let layer = L.esri.tiledMapLayer({
+        tileSize: 512,
+        url: url,
+        minZoom: 0,
+        minNativeZoom: 3,
+        maxNativeZoom: 7,
+        maxZoom: 14,
+      });
+      return layer;
     },
     // 开始标记疑点事件
     startLabelCase() {
@@ -273,11 +282,13 @@ export default {
                 this.caseStatusMap.get(str)
               );
               let inputStatus = "";
-              if (
-                this.caseStatusMap.has(str) &&
-                this.caseStatusMap.get(str) === "isTrue"
-              ) {
-                $(`#${str}_id .center-table-item-special input`).val("疑点");
+              if (this.caseStatusMap.has(str)) {
+                this.caseStatusMap.get(str) === "isTrue" &&
+                  $(`#${str}_id .center-table-item-special input`).val("疑点");
+                !this.caseStatusMap.get(str) === "isTrue" &&
+                  $(`#${str}_id .center-table-item-special input`).val(
+                    "非疑点"
+                  );
               }
             }
           }
@@ -356,9 +367,29 @@ export default {
       console.log("用户点击了地图中的修改按钮!");
     },
     confirmBtnEvent(str) {
+      console.log(str, "str--当前开启的");
       // isTrue
       let selectVal = $(`#${str}_id .center-table-item-special select`).val();
       this.caseStatusMap.set(str, selectVal);
+      if (selectVal === "isTrue") {
+        map2DViewer.polygons[str].options.weight = 5;
+        map2DViewer.polygons[
+          str
+        ].options.color = `rgb(${caseColorChange["isPointColor"][0]},${caseColorChange["isPointColor"][1]},${caseColorChange["isPointColor"][2]})`;
+        map2DViewer.polygons[
+          str
+        ].options.fillColor = `rgb(${caseColorChange["isPointColor"][0]},${caseColorChange["isPointColor"][1]},${caseColorChange["isPointColor"][2]})`;
+      } else {
+        map2DViewer.polygons[str].options.weight = 5;
+        map2DViewer.polygons[
+          str
+        ].options.color = `rgb(${caseColorChange["notPointColor"][0]},${caseColorChange["notPointColor"][1]},${caseColorChange["notPointColor"][2]})`;
+        map2DViewer.polygons[
+          str
+        ].options.fillColor = `rgb(${caseColorChange["isPointColor"][0]},${caseColorChange["isPointColor"][1]},${caseColorChange["isPointColor"][2]})`;
+      }
+      console.log(map2DViewer.polygons[str]);
+
       let obj = {
         c_date_time: this.$dayjs().valueOf(),
         c_boolean: selectVal === "isTrue" ? true : false,
@@ -367,6 +398,7 @@ export default {
         // 修改人员ID
         c_editorid: localStorage.getItem("USER_ID"),
       };
+
       let modifyParams = new FormData();
       modifyParams = {
         columnId: 510,
@@ -477,13 +509,10 @@ export default {
         // map2DViewer.jlMap = L.tileLayer(
         //   "http://t0.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=f331ba0b9ab96fb21c56d91de868935d"
         // ).addTo(map2DViewer.map);
-        map2DViewer.jlMap = L.esri
-          .tiledMapLayer({
-            tileSize: 512,
-            url: systemConfig.imageryLayerSat2018s2.url,
-            maxNativeZoom: 7,
-          })
-          .addTo(map2DViewer.map);
+        map2DViewer.jlMap = this.addTiledMapLayer(
+          systemConfig.imageryLayerSat2018s2.url
+        ).addTo(map2DViewer.map);
+
         map2DViewer.jlControl = L.control
           .sideBySide(map2DViewer.map, map2DViewer.jlMap)
           .addTo(map2DViewer.map);
@@ -590,24 +619,12 @@ export default {
 
       //添加默认图层
       let guid = publicFun.buildGuid("baseLayer");
-      let layer = L.esri
-        .tiledMapLayer({
-          tileSize: 512,
-          url: systemConfig.blueBlackMap.url,
-          maxNativeZoom: 7,
-        })
-        .addTo(map2DViewer.map);
+      let layer = this.addTiledMapLayer(systemConfig.blueBlackMap.url).addTo(
+        map2DViewer.map
+      );
       map2DViewer.layers["darkmap"] = layer;
 
-      // 加载遥感影像sat-2022s1
-      let imageryLayer = L.esri.tiledMapLayer({
-        tileSize: 512,
-        url: systemConfig.imageryLayer.url,
-        minZoom: 0,
-        minNativeZoom: 1,
-        maxNativeZoom: 7,
-        maxZoom: 18,
-      });
+      let imageryLayer = this.addTiledMapLayer(systemConfig.imageryLayer.url);
       map2DViewer.layers["imagery"] = imageryLayer;
     },
     // 传入街道参数,重新渲染区域图层
@@ -823,13 +840,13 @@ export default {
               性质: geoProperties["性质"] || "--",
             };
             if (defaultStatus === false) {
-              this.defaultStatus = "未标记";
+              this.defaultStatus = "非疑点";
             }
             if (defaultStatus === true) {
               this.defaultStatus = "疑点";
             }
             if (defaultStatus === null) {
-              this.defaultStatus = "非疑点";
+              this.defaultStatus = "未标记";
             }
             console.log(defaultStatus, "defaultStatus");
             this.defaultStatus = defaultStatus;

+ 3 - 8
src/views/ComprehensiveAnalysis.vue

@@ -890,14 +890,9 @@ export default {
     changeBaseMap(data) {
       if (map2DViewer.map.hasLayer(map2DViewer.layers["imagery"])) {
         map2DViewer.map.removeLayer(map2DViewer.layers["imagery"]);
-        map2DViewer.layers["imagery"] = L.esri.tiledMapLayer({
-          tileSize: 512,
-          url: data.mapUrl,
-          minZoom: 0,
-          minNativeZoom: 0,
-          maxZoom: 18,
-          maxNativeZoom: 7,
-        });
+        map2DViewer.layers["imagery"] = this.$store.state.mapMethodsCollection
+          .get("RENDER")
+          .addTiledMapLayer(data.mapUrl);
         map2DViewer.map.addLayer(map2DViewer.layers["imagery"]);
         this.basemapName = data.abbr;
       }