From a6ed23b018343a68f9fd276647cc4af817398d1b Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期四, 01 二月 2024 15:21:26 +0800
Subject: [PATCH] feat:修改部分问题

---
 src/views/your/map/areaMap.vue |  540 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 265 insertions(+), 275 deletions(-)

diff --git a/src/views/your/map/areaMap.vue b/src/views/your/map/areaMap.vue
index fc1dad1..47f610f 100644
--- a/src/views/your/map/areaMap.vue
+++ b/src/views/your/map/areaMap.vue
@@ -1,291 +1,281 @@
 <template>
-    <div>
+  <div>
     <div style="float: left;width: 15%;overflow:auto">
-        <Table
-                border
-                :columns="columns"
-                :data="data"
-                ref="table"
-                height="600"
-                highlight-row
-                @on-current-change="handleRowChange"
-        ></Table>
+      <Table
+          border
+          :columns="columns"
+          :data="data"
+          ref="table"
+          height="600"
+          highlight-row
+          @on-current-change="handleRowChange"
+      ></Table>
     </div>
     <div style="float: right;width: 85%;">
-        <!--<div id="container"></div>-->
-        <!--<ul class="drawing-panel" style="z-index: 99;">-->
-            <!--<li class = "btn" @click="openEdit">寮�鍚紪杈�</li>-->
-            <!--<li class = "btn" @click="closeEdit">淇濆瓨缂栬緫</li>-->
-        <!--</ul>-->
+      <!--<div id="container"></div>-->
+      <!--<ul class="drawing-panel" style="z-index: 99;">-->
+      <!--<li class = "btn" @click="openEdit">寮�鍚紪杈�</li>-->
+      <!--<li class = "btn" @click="closeEdit">淇濆瓨缂栬緫</li>-->
+      <!--</ul>-->
 
-        <ul class = "drawing-panel">
-            <li class="bmap-btn bmap-polygon" id="polygon" @click="draw"></li>
-            <!--<li class = "btn" @click="clearAll">娓呴櫎閲嶇敾</li>-->
-        </ul>
-        <div id = "container"></div>
+      <ul class="drawing-panel">
+        <li class="bmap-btn bmap-polygon" id="polygon" @click="draw"></li>
+<!--        <li class="btn" @click="clearAll">娓呴櫎閲嶇敾</li>-->
+      </ul>
+      <div id="container"></div>
     </div>
-    </div>
+  </div>
 </template>
 
 <script>
-    import {
-        getAllArea,
-        addAreaMap,
-        getAllByAreaId,
-        delAreaMap,
-    } from "@/api/open";
-    export default {
-        name: "",
-        data() {
-            return {
-                polygon: {},
-                columns: [
-                    {
-                        title: "鐗囧尯鍚嶇О",
-                        key: "name",
-                    },
-                ],
-                data:[],
-                map:{},
-                areaId:"",
-                drawingManager:{},
-                overlays:[]
-            }
+import {
+  getAllArea,
+  addAreaMap,
+  getAllByAreaId,
+  delAreaMap,
+} from "@/api/open";
+
+export default {
+  name: "",
+  data() {
+    return {
+      polygon: {},
+      columns: [
+        {
+          title: "鐗囧尯鍚嶇О",
+          key: "name",
         },
-        mounted() {
-            this.getDataList();
-
-            this.map = new BMapGL.Map('container',{enableMapClick:false});
-            var point = new BMapGL.Point(118.187167,39.636514);
-            this.map.centerAndZoom(point, 12);
-            this.map.enableScrollWheelZoom(true);
-
-
-
-
-
-
-
-            // this.polygon = new BMapGL.Polygon([
-            //     new BMapGL.Point(118.127822,39.697015),
-            //     new BMapGL.Point(118.253728,39.697459),
-            //     new BMapGL.Point(118.256028,39.601458),
-            //     new BMapGL.Point(118.109424,39.59612),
-            //     new BMapGL.Point(118.100801,39.650809),
-            // ], {
-            //     strokeColor: 'blue',
-            //     strokeWeight: 2,
-            //     strokeOpacity: 0.5
-            // });
-            // this.map.addOverlay(this.polygon);
-        },
-        methods:{
-            clearAll() {
-                for(var i = 0; i < this.overlays.length; i++){
-                    this.map.removeOverlay(this.overlays[i]);
-                }
-                this.overlays.length = 0
-            },
-            draw(e) {
-                this.clearAll();
-
-                var styleOptions = {
-                    strokeColor: '#5E87DB',   // 杈圭嚎棰滆壊
-                    fillColor: '#5E87DB',     // 濉厖棰滆壊銆傚綋鍙傛暟涓虹┖鏃讹紝鍦嗗舰娌℃湁濉厖棰滆壊
-                    strokeWeight: 2,          // 杈圭嚎瀹藉害锛屼互鍍忕礌涓哄崟浣�
-                    strokeOpacity: 1,         // 杈圭嚎閫忔槑搴︼紝鍙栧�艰寖鍥�0-1
-                    fillOpacity: 0.2          // 濉厖閫忔槑搴︼紝鍙栧�艰寖鍥�0-1
-                };
-
-                // 瀹炰緥鍖栭紶鏍囩粯鍒跺伐鍏�
-                this.drawingManager = new BMapGLLib.DrawingManager(this.map, {
-                    // isOpen: true,        // 鏄惁寮�鍚粯鍒舵ā寮�
-                    enableCalculate: false, // 缁樺埗鏄惁杩涜娴嬭窛娴嬮潰
-                    enableSorption: true,   // 鏄惁寮�鍚竟鐣屽惛闄勫姛鑳�
-                    sorptiondistance: 20,   // 杈圭晫鍚搁檮璺濈
-                    polygonOptions: styleOptions,    // 澶氳竟褰㈢殑鏍峰紡
-                });
-
-                console.log(e)
-                var arr = document.getElementsByClassName('bmap-btn');
-                for(var i = 0; i<arr.length; i++) {
-                    arr[i].style.backgroundPositionY = '0';
-                }
-                //e.style.backgroundPositionY = '-52px';
-                var drawingType = BMAP_DRAWING_POLYGON;
-                // 杩涜缁樺埗
-                if (this.drawingManager._isOpen && this.drawingManager.getDrawingMode() === drawingType) {
-                    this.drawingManager.close();
-                } else {
-                    this.drawingManager.setDrawingMode(drawingType);
-                    this.drawingManager.open();
-                }
-
-                this.drawingManager.addEventListener('overlaycomplete', this.overlaycomplete);
-            },
-            overlaycomplete(e){
-                this.overlays.push(e.overlay);
-                var path = e.overlay.getPath();
-                delAreaMap({id:this.areaId}).then((res) => {
-                    if(res.success){
-                        for(var i=0;i<path.length;i++){
-                            addAreaMap({areaId:this.areaId,lng:path[i].lng,lat:path[i].lat,seq:i}).then((res) => {
-                                this.findMap();
-                            });
-                            //this.sleep(150)
-                        }
-                        // addAreaMap({areaId:this.areaId,lng:path[0].lng,lat:path[0].lat}).then((res) => {
-                        //
-                        // });
-                    }
-                });
-            },
-            sleep(delay) {
-                var start = (new Date()).getTime();
-                while((new Date()).getTime() - start < delay) {
-                    continue;
-                }
-            },
-            openEdit() {
-                this.polygon.enableEditing();
-            },
-            closeEdit() {
-                this.polygon.disableEditing();
-                var obj = this.polygon.points;
-                console.log(this.polygon)
-
-                delAreaMap({id:this.areaId}).then((res) => {
-                    if(res.success){
-                        for(var i=0;i<obj.length;i++){
-                            addAreaMap({areaId:this.areaId,lng:this.getLng(obj[i].lng,obj[i].lat),lat:this.getLat(obj[i].lng,obj[i].lat)}).then((res) => {
-                                this.findMap();
-                            });
-                        }
-                    }
-                });
-
-            },
-            getDataList() {
-                getAllArea({}).then((res) => {
-                    if (res.success) {
-                        this.data = res.result;
-                    }
-                });
-            },
-            handleRowChange(currentRow, oldCurrentRow){
-                this.areaId = currentRow.id
-                this.findMap();
-            },
-            findMap(){
-                getAllByAreaId({id:this.areaId}).then((res) => {
-                    if (res.success) {
-                        this.map.clearOverlays();
-                        if(res.result.length>2){
-                            var ps = []
-                            for(var i=0;i<res.result.length;i++){
-                                ps.push(new BMapGL.Point(res.result[i].lng,res.result[i].lat))
-                            }
-                            this.polygon = new BMapGL.Polygon(ps, {
-                                strokeColor: 'blue',
-                                strokeWeight: 2,
-                                strokeOpacity: 0.5
-                            });
-                            this.map.addOverlay(this.polygon);
-                        }else{
-                            // this.polygon = new BMapGL.Polygon([
-                            //     new BMapGL.Point(118.127822,39.697015),
-                            //     new BMapGL.Point(118.253728,39.697459),
-                            //     new BMapGL.Point(118.256028,39.601458),
-                            //     new BMapGL.Point(118.109424,39.59612),
-                            //     new BMapGL.Point(118.100801,39.650809),
-                            // ], {
-                            //     strokeColor: 'blue',
-                            //     strokeWeight: 2,
-                            //     strokeOpacity: 0.5
-                            // });
-                            // this.map.addOverlay(this.polygon);
-                        }
-                    }
-                });
-            }
-        }
+      ],
+      data: [],
+      map: {},
+      areaId: "",
+      drawingManager: {},
+      overlays: []
     }
+  },
+  mounted() {
+    this.getDataList();
+
+    this.map = new BMapGL.Map('container', {enableMapClick: false});
+    var point = new BMapGL.Point(118.187167, 39.636514);
+    this.map.centerAndZoom(point, 12);
+    this.map.enableScrollWheelZoom(true);
+  },
+  methods: {
+    clearAll() {
+      for (var i = 0; i < this.overlays.length; i++) {
+        this.map.removeOverlay(this.overlays[i]);
+      }
+      this.overlays.length = 0
+    },
+    draw(e) {
+      this.clearAll();
+
+      var styleOptions = {
+        strokeColor: '#5E87DB',   // 杈圭嚎棰滆壊
+        fillColor: '#5E87DB',     // 濉厖棰滆壊銆傚綋鍙傛暟涓虹┖鏃讹紝鍦嗗舰娌℃湁濉厖棰滆壊
+        strokeWeight: 2,          // 杈圭嚎瀹藉害锛屼互鍍忕礌涓哄崟浣�
+        strokeOpacity: 1,         // 杈圭嚎閫忔槑搴︼紝鍙栧�艰寖鍥�0-1
+        fillOpacity: 0.2          // 濉厖閫忔槑搴︼紝鍙栧�艰寖鍥�0-1
+      };
+
+      // 瀹炰緥鍖栭紶鏍囩粯鍒跺伐鍏�
+      this.drawingManager = new BMapGLLib.DrawingManager(this.map, {
+        // isOpen: true,        // 鏄惁寮�鍚粯鍒舵ā寮�
+        enableCalculate: false, // 缁樺埗鏄惁杩涜娴嬭窛娴嬮潰
+        enableSorption: true,   // 鏄惁寮�鍚竟鐣屽惛闄勫姛鑳�
+        sorptiondistance: 20,   // 杈圭晫鍚搁檮璺濈
+        polygonOptions: styleOptions,    // 澶氳竟褰㈢殑鏍峰紡
+      });
+
+      console.log(e)
+      var arr = document.getElementsByClassName('bmap-btn');
+      for (var i = 0; i < arr.length; i++) {
+        arr[i].style.backgroundPositionY = '0';
+      }
+      //e.style.backgroundPositionY = '-52px';
+      var drawingType = BMAP_DRAWING_POLYGON;
+      // 杩涜缁樺埗
+      if (this.drawingManager._isOpen && this.drawingManager.getDrawingMode() === drawingType) {
+        this.drawingManager.close();
+      } else {
+        this.drawingManager.setDrawingMode(drawingType);
+        this.drawingManager.open();
+      }
+
+      this.drawingManager.addEventListener('overlaycomplete', this.overlaycomplete);
+    },
+    overlaycomplete(e) {
+      this.overlays.push(e.overlay);
+      var path = e.overlay.getPath();
+      delAreaMap({id: this.areaId}).then((res) => {
+        if (res.success) {
+          for (var i = 0; i < path.length; i++) {
+            addAreaMap({areaId: this.areaId, lng: path[i].lng, lat: path[i].lat, seq: i}).then((res) => {
+              this.findMap();
+            });
+            //this.sleep(150)
+          }
+          // addAreaMap({areaId:this.areaId,lng:path[0].lng,lat:path[0].lat}).then((res) => {
+          //
+          // });
+        }
+      });
+    },
+    sleep(delay) {
+      var start = (new Date()).getTime();
+      while ((new Date()).getTime() - start < delay) {
+        continue;
+      }
+    },
+    openEdit() {
+      this.polygon.enableEditing();
+    },
+    closeEdit() {
+      this.polygon.disableEditing();
+      var obj = this.polygon.points;
+      console.log(this.polygon)
+
+      delAreaMap({id: this.areaId}).then((res) => {
+        if (res.success) {
+          for (var i = 0; i < obj.length; i++) {
+            addAreaMap({
+              areaId: this.areaId,
+              lng: this.getLng(obj[i].lng, obj[i].lat),
+              lat: this.getLat(obj[i].lng, obj[i].lat)
+            }).then((res) => {
+              this.findMap();
+            });
+          }
+        }
+      });
+
+    },
+    getDataList() {
+      getAllArea({}).then((res) => {
+        if (res.success) {
+          this.data = res.result;
+        }
+      });
+    },
+    handleRowChange(currentRow, oldCurrentRow) {
+      this.areaId = currentRow.id
+      this.findMap();
+    },
+    findMap() {
+      getAllByAreaId({id: this.areaId}).then((res) => {
+        if (res.success) {
+          this.map.clearOverlays();
+          if (res.result.length > 2) {
+            var ps = []
+            for (var i = 0; i < res.result.length; i++) {
+              ps.push(new BMapGL.Point(res.result[i].lng, res.result[i].lat))
+            }
+            this.polygon = new BMapGL.Polygon(ps, {
+              strokeColor: 'blue',
+              strokeWeight: 2,
+              strokeOpacity: 0.5
+            });
+            this.map.addOverlay(this.polygon);
+          }
+        }
+      });
+    }
+  }
+}
 
 </script>
 
 <style scoped>
-    body, html, #container {width: 100%; height: 600px; overflow: hidden; margin: 0; font-family: "寰蒋闆呴粦";}
-    ul li {list-style: none;}
-    .drawing-panel {
-        z-index: 999;
-        position: fixed;
-        bottom: 3.5rem;
-        margin-left: 2.5rem;
-        padding-left: 0;
-        border-radius: .25rem;
-        height: 47px;
-        box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
-    }
-    .bmap-btn {
-        border-right: 1px solid #d2d2d2;
-        float: left;
-        width: 64px;
-        height: 100%;
-        background-image: url(//api.map.baidu.com/library/DrawingManager/1.4/src/bg_drawing_tool.png);
-        cursor: pointer;
-    }
-    .drawing-panel .bmap-marker {
-        background-position: -65px 0;
-    }
-    .drawing-panel .bmap-polyline {
-        background-position: -195px 0;
-    }
-    .drawing-panel .bmap-rectangle {
-        background-position: -325px 0;
-    }
-    .drawing-panel .bmap-polygon {
-        background-position: -260px 0;
-    }
-    .drawing-panel .bmap-circle {
-        background-position: -130px 0;
-    }
-    /*body,*/
-    /*html,*/
-    /*#container {*/
-        /*overflow: hidden;*/
-        /*width: 100%;*/
-        /*height: 600px;*/
-        /*margin: 0;*/
-        /*font-family: "寰蒋闆呴粦";*/
-    /*}*/
-    /*ul li {*/
-        /*list-style: none;*/
-    /*}*/
-    /*.drawing-panel {*/
-        /*z-index: 999;*/
-        /*position: fixed;*/
-        /*bottom: 3.5rem;*/
-        /*margin-left: 3rem;*/
-        /*padding: 1rem 1rem;*/
-        /*border-radius: .25rem;*/
-        /*background-color: #fff;*/
-        /*box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);*/
-    /*}*/
-    /*.btn {*/
-        /*width: 150px;*/
-        /*height: 30px;*/
-        /*float: left;*/
-        /*background-color: #fff;*/
-        /*color: rgba(27, 142, 236, 1);*/
-        /*font-size: 14px;*/
-        /*border:1px solid rgba(27, 142, 236, 1);*/
-        /*border-radius: 5px;*/
-        /*margin: 0 5px;*/
-        /*text-align: center;*/
-        /*line-height: 30px;*/
-    /*}*/
-    /*.btn:hover {*/
-        /*background-color: rgba(27, 142, 236, 0.8);*/
-        /*color: #fff;*/
-    /*}*/
+body, html, #container {
+  width: 100%;
+  height: 600px;
+  overflow: hidden;
+  margin: 0;
+  font-family: "寰蒋闆呴粦";
+}
+
+ul li {
+  list-style: none;
+}
+
+.drawing-panel {
+  z-index: 999;
+  position: fixed;
+  bottom: 3.5rem;
+  margin-left: 2.5rem;
+  padding-left: 0;
+  border-radius: .25rem;
+  height: 47px;
+  box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
+}
+
+.bmap-btn {
+  border-right: 1px solid #d2d2d2;
+  float: left;
+  width: 64px;
+  height: 100%;
+  background-image: url(//api.map.baidu.com/library/DrawingManager/1.4/src/bg_drawing_tool.png);
+  cursor: pointer;
+}
+
+.drawing-panel .bmap-marker {
+  background-position: -65px 0;
+}
+
+.drawing-panel .bmap-polyline {
+  background-position: -195px 0;
+}
+
+.drawing-panel .bmap-rectangle {
+  background-position: -325px 0;
+}
+
+.drawing-panel .bmap-polygon {
+  background-position: -260px 0;
+}
+
+.drawing-panel .bmap-circle {
+  background-position: -130px 0;
+}
+
+/*body,*/
+/*html,*/
+/*#container {*/
+/*overflow: hidden;*/
+/*width: 100%;*/
+/*height: 600px;*/
+/*margin: 0;*/
+/*font-family: "寰蒋闆呴粦";*/
+/*}*/
+/*ul li {*/
+/*list-style: none;*/
+/*}*/
+/*.drawing-panel {*/
+/*z-index: 999;*/
+/*position: fixed;*/
+/*bottom: 3.5rem;*/
+/*margin-left: 3rem;*/
+/*padding: 1rem 1rem;*/
+/*border-radius: .25rem;*/
+/*background-color: #fff;*/
+/*box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);*/
+/*}*/
+/*.btn {*/
+/*width: 150px;*/
+/*height: 30px;*/
+/*float: left;*/
+/*background-color: #fff;*/
+/*color: rgba(27, 142, 236, 1);*/
+/*font-size: 14px;*/
+/*border:1px solid rgba(27, 142, 236, 1);*/
+/*border-radius: 5px;*/
+/*margin: 0 5px;*/
+/*text-align: center;*/
+/*line-height: 30px;*/
+/*}*/
+/*.btn:hover {*/
+/*background-color: rgba(27, 142, 236, 0.8);*/
+/*color: #fff;*/
+/*}*/
 </style>
\ No newline at end of file

--
Gitblit v1.9.1