<!--<template>-->
<!--  <div class="allMapOperation" ref="allMapOperation">-->
<!--    <div ref='drawContainer' class="draw-container"></div>-->
<!--    <div class='info' v-if="!onlyShow">-->
<!--      <p>操作说明:</p>-->
<!--      <p>1.点击鼠标左键拖拽绘制圆、其他覆盖物连续点击，右键结束绘制</p>-->
<!--      <p>2.鼠标右键点击覆盖物进行编辑、删除</p>-->
<!--      <p v-if="!single" style="color:red;">3.需要点击保存才能获取已经绘制的图形数据</p>-->
<!--    </div>-->
<!--    <div class="fullScreen">-->
<!--      <Icon size="24" type="md-expand" @click="fullSrceen" />-->
<!--    </div>-->
<!--    <div class="drawmap-operation-menu" style='padding: 12px 0;' v-if="!onlyShow">-->
<!--      <div v-if="isShowMarker">-->
<!--        <Tooltip placement="left" content="点标记" class="drawmap-tooltip">-->
<!--          <Icon size="24" type="md-pin" @click="draw('marker')" />-->
<!--        </Tooltip>-->
<!--        <Divider style="margin: 12px 0;" />-->
<!--      </div>-->
<!--      <div v-if="isShowPolyline">-->
<!--        <Tooltip placement="left" content="画线" class="drawmap-tooltip">-->
<!--          <Icon size="24" type="md-trending-up" @click="draw('polyline')" />-->
<!--        </Tooltip>-->
<!--        <Divider style="margin: 12px 0;" />-->
<!--      </div>-->
<!--      <div v-if="isShowPolygon">-->
<!--        <Tooltip placement="left" content="画多边形" class="drawmap-tooltip">-->
<!--          <Icon size="24" type="ios-map-outline" @click="draw('polygon')" />-->
<!--        </Tooltip>-->
<!--        <Divider style="margin: 12px 0;" />-->
<!--      </div>-->
<!--      <div v-if="isShowCircle">-->
<!--        <Tooltip placement="left" content="画圆" class="drawmap-tooltip">-->
<!--          <Icon size="24" type="md-radio-button-off" @click="draw('circle')" />-->
<!--        </Tooltip>-->
<!--        <Divider style="margin: 12px 0;" />-->
<!--      </div>-->
<!--      <Tooltip placement="left" content="清空" class="drawmap-tooltip">-->
<!--        <Icon size="24" type="md-trash" @click="clearAllGraph" />-->
<!--      </Tooltip>-->

<!--      <div v-if="!single">-->
<!--        <Divider style="margin: 12px 0;" />-->
<!--        <Tooltip placement="left" content="保存" class="drawmap-tooltip">-->
<!--          <span type="text" @click="saveMap" style="cursor: pointer;">保存</span>-->
<!--        </Tooltip>-->
<!--      </div>-->
<!--    </div>-->
<!--  </div>-->
<!--</template>-->
<!--<script>-->
<!--import AMap from "AMap" //在页面中引入高德地图-->
<!--import { VueDebounce } from "@/vehicle/fence.js"-->
<!--/** 引用的防抖函数代码-->
<!-- * export const VueDebounce = (func, wait = 200, immediate = false) => {-->
<!-- let timeout = null;  // 定时器-->
<!-- return function () {-->
<!-- let that = this, // this对象-->
<!-- args = arguments; // 参数-->
<!-- if (timeout) clearTimeout(timeout);-->
<!-- if (immediate === true) { // 立即执行-->
<!-- var callNow = !timeout;-->
<!-- timeout = setTimeout(() => {-->
<!-- timeout = null;-->
<!-- }, wait)-->
<!-- if (callNow) {-->
<!-- // func.apply(that, args); // 普通用法-->
<!-- that[func](...args); // vue用法-->
<!-- }-->
<!-- }-->
<!-- else { // 非立即执行-->
<!-- timeout = setTimeout(() => {-->
<!-- // func.apply(this, args); // 普通用法-->
<!-- that[func](...args); // vue用法-->
<!-- }, wait);-->
<!-- }-->
<!-- }-->
<!-- }-->
<!-- */-->
<!--const overlayStyle = {-->
<!--  borderWeight: 3,-->
<!--  strokeColor: "#FF33FF",-->
<!--  strokeOpacity: 1,-->
<!--  strokeWeight: 2,-->
<!--  strokeOpacity: 0.2,-->
<!--  fillOpacity: 0.4,-->
<!--  strokeStyle: "dashed",-->
<!--  strokeDasharray: [10, 10],-->
<!--  fillColor: "#1791fc",-->
<!--  zIndex: 50-->
<!--}-->
<!--export default {-->
<!--  props: {-->
<!--    drawType: {-->
<!--      type: Array, //['polyline','polygon','circle','marker'] ,['all]  绘制图形的类型-->
<!--      required: false,-->
<!--      default: () => {-->
<!--        return []-->
<!--      }-->
<!--    },-->
<!--    single: {-->
<!--      type: Boolean, //是否绘制一个图形 用于单独添加航点 航线 空域-->
<!--      default: true-->
<!--    },-->
<!--    onlyShow: {-->
<!--      type: Boolean, //是否用于显示,将会隐藏提示 与 操作按钮-->
<!--      default: false-->
<!--    }-->
<!--  },-->
<!--  data() {-->
<!--    return {-->
<!--      map: null, //地图对象-->
<!--      mouseTool: null, //鼠标绘制对象-->
<!--      geocoder: null, //地址解析对象-->
<!--      satelliteLayer: null, //图层-->

<!--      overlays: [], //所以覆盖物集合-->

<!--      Editor: null, //编辑器对象-->
<!--      nowCaozuo: null, //当前编辑的对象-->
<!--      contextMenu: null, //右键菜单对象-->

<!--      polylineData: [], //传出去的折线数据-->
<!--      polygonData: [], //传出去的多边形数据-->
<!--      rectangleData: [], //传出去的矩形数据-->
<!--      circleData: [], //传出去的圆形数据-->
<!--      markerData: [] //传出去的点标记数据-->
<!--    }-->
<!--  },-->
<!--  computed: {-->
<!--    isShowMarker() {-->
<!--      return this.drawType.includes("marker") || this.drawType.includes("all")-->
<!--    },-->
<!--    isShowPolyline() {-->
<!--      return this.drawType.includes("polyline") || this.drawType.includes("all")-->
<!--    },-->
<!--    isShowPolygon() {-->
<!--      return this.drawType.includes("polygon") || this.drawType.includes("all")-->
<!--    },-->
<!--    isShowCircle() {-->
<!--      return this.drawType.includes("circle") || this.drawType.includes("all")-->
<!--    }-->
<!--  },-->
<!--  created() {-->
<!--    // console.log("创建")-->
<!--  },-->
<!--  mounted() {-->
<!--    // this.initMap()-->
<!--  },-->
<!--  methods: {-->
<!--    initMap() {-->
<!--      if (this.map) return-->
<!--      console.log("创建地图对象")-->
<!--      this.map = new AMap.Map(this.$refs.drawContainer, { zoom: 12 })-->
<!--      this.geocoder = new AMap.Geocoder({})-->
<!--      this.mouseTool = new AMap.MouseTool(this.map)-->
<!--      this.map.plugin(["AMap.Scale", "AMap.ToolBar"], () => {-->
<!--        this.map.addControl(new AMap.Scale())-->
<!--        // this.map.addControl(new AMap.ToolBar())-->
<!--      })-->

<!--      //监听draw事件可获取画好的覆盖物-->
<!--      this.mouseTool.on("draw", e => {-->
<!--        let obj = e.obj-->
<!--        let overlays = this.overlays-->
<!--        let overlaysLen = overlays.length-->
<!--        let overlaysType = obj.className-->
<!--        if (this.single && overlaysLen > 0) {-->
<!--          for (let i = 0; i < overlaysLen; i++) {-->
<!--            this.map.remove(overlays[i])-->
<!--          }-->
<!--          overlays = []-->
<!--        }-->
<!--        overlays.push(obj)-->
<!--        this.overlays = overlays-->

<!--        this.closeEdit()-->

<!--        switch (overlaysType) {-->
<!--          case "marker": {-->
<!--            this.mouseTool.marker({ animation: "AMAP_ANIMATION_DROP" })-->
<!--            break-->
<!--          }-->
<!--          case "Overlay.Circle": {-->
<!--            this.editCircle(obj)-->
<!--            break-->
<!--          }-->
<!--          case "Overlay.Polygon": {-->
<!--            this.editPolygon(obj)-->
<!--            break-->
<!--          }-->
<!--          case "Overlay.Polyline": {-->
<!--            obj.setOptions({-->
<!--              showDir: true,-->
<!--              lineJoin: "round",-->
<!--              lineCap: "round"-->
<!--            })-->
<!--            this.editPolyline(obj)-->
<!--            break-->
<!--          }-->
<!--        }-->
<!--        if (this.single) {-->
<!--          this.save()-->
<!--        }-->
<!--        this.mouseTool.close()-->

<!--        this.creatRightHandle(obj)-->
<!--        this.map.setDefaultCursor("pointer")-->

<!--        this.$Message.success("绘制完成")-->
<!--      })-->
<!--    },-->
<!--    createMenu(obj, type) {-->
<!--      if (this.contextMenu) {-->
<!--        this.contextMenu.close()-->
<!--        this.contextMenu = null-->
<!--      }-->
<!--      //创建右键菜单-->
<!--      this.contextMenu = new AMap.ContextMenu({})-->
<!--      this.contextMenu.addItem(-->
<!--        type == "marker" ? "拖动" : "开启编辑",-->
<!--        () => {-->
<!--          if (type == "marker") {-->
<!--            this.nowCaozuo.setDraggable(true)-->
<!--            this.dragendEndHandle(this.nowCaozuo)-->
<!--          } else {-->
<!--            this[type](this.nowCaozuo)-->
<!--          }-->
<!--          this.contextMenu.close()-->
<!--        },-->
<!--        0-->
<!--      )-->
<!--      //右键取消编辑-->
<!--      this.contextMenu.addItem(-->
<!--        type == "marker" ? "取消拖动" : "取消编辑",-->
<!--        () => {-->
<!--          if (type == "marker") {-->
<!--            this.nowCaozuo.setDraggable(false)-->
<!--          } else {-->
<!--            this.closeEdit()-->
<!--          }-->
<!--          this.contextMenu.close()-->
<!--        },-->
<!--        1-->
<!--      )-->
<!--      //右键删除-->
<!--      this.contextMenu.addItem(-->
<!--        "移除",-->
<!--        () => {-->
<!--          this.closeEdit()-->
<!--          this.map.remove(this.nowCaozuo)-->
<!--          this.contextMenu.close()-->
<!--        },-->
<!--        2-->
<!--      )-->
<!--    },-->
<!--    editCircle(obj) {-->
<!--      this.closeEdit()-->
<!--      this.Editor = new AMap.CircleEditor(this.map, obj)-->
<!--      if (this.single) {-->
<!--        this.Editor.on("adjust", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("move", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("end", e => {-->
<!--          // this.save()-->
<!--        })-->
<!--      }-->

<!--      this.Editor.open()-->
<!--    },-->
<!--    editPolygon(obj) {-->
<!--      this.closeEdit()-->
<!--      this.Editor = new AMap.PolygonEditor(this.map, obj)-->
<!--      if (this.single) {-->
<!--        this.Editor.on("addnode", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("adjust", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("removenode", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("end", e => {-->
<!--          // this.save()-->
<!--        })-->
<!--      }-->
<!--      this.Editor.open()-->
<!--    },-->
<!--    editPolyline(obj) {-->
<!--      this.closeEdit()-->
<!--      this.Editor = new AMap.PolylineEditor(this.map, obj)-->
<!--      if (this.single) {-->
<!--        this.Editor.on("addnode", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("adjust", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("removenode", e => {-->
<!--          this.save()-->
<!--        })-->
<!--        this.Editor.on("end", e => {-->
<!--          // this.save()-->
<!--        })-->
<!--      }-->
<!--      this.Editor.open()-->
<!--    },-->
<!--    draw(type) {-->
<!--      switch (type) {-->
<!--        case "marker": {-->
<!--          this.mouseTool.marker({ animation: "AMAP_ANIMATION_DROP" })-->
<!--          break-->
<!--        }-->
<!--        case "polyline": {-->
<!--          this.mouseTool.polyline({-->
<!--            strokeColor: "#3366FF",-->
<!--            strokeWeight: 6-->
<!--          })-->
<!--          break-->
<!--        }-->
<!--        case "polygon": {-->
<!--          this.mouseTool.polygon({ ...overlayStyle })-->
<!--          break-->
<!--        }-->
<!--        case "circle": {-->
<!--          this.mouseTool.circle({ ...overlayStyle })-->
<!--          break-->
<!--        }-->
<!--      }-->
<!--      this.map.setDefaultCursor("crosshair")-->
<!--    },-->

<!--    // 获取绘制的圆形覆盖物数据-->
<!--    mapCircleData(mapCircle) {-->
<!--      let len = mapCircle.length-->
<!--      let arrar = mapCircle.map(item => {-->
<!--        return item.getCenter()-->
<!--      })-->
<!--      return new Promise((resolve, reject) => {-->
<!--        let circleData = []-->
<!--        this.geocoder.getAddress(arrar, (status, result) => {-->
<!--          if (status === "complete" && result.regeocodes.length) {-->
<!--            for (let j = 0; j < result.regeocodes.length; j += 1) {-->
<!--              // console.log(result.regeocodes[j].formattedAddress)-->
<!--              circleData.push({-->
<!--                lnglat: {-->
<!--                  lng: mapCircle[j].getCenter().lng,-->
<!--                  lat: mapCircle[j].getCenter().lat-->
<!--                },-->
<!--                radius: parseInt(mapCircle[j].getRadius()),-->
<!--                address: result.regeocodes[j].formattedAddress-->
<!--              })-->
<!--              this.circleData = circleData-->
<!--              if (circleData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            }-->
<!--          } else {-->
<!--            for (let i = 0; i < len; i += 1) {-->
<!--              circleData.push({-->
<!--                lnglat: {-->
<!--                  lng: mapCircle[i].getCenter().lng,-->
<!--                  lat: mapCircle[i].getCenter().lat-->
<!--                },-->
<!--                radius: parseInt(mapCircle[i].getRadius()),-->
<!--                address: ""-->
<!--              })-->
<!--            }-->
<!--            this.circleData = circleData-->
<!--            if (circleData.length == len) {-->
<!--              resolve()-->
<!--            }-->
<!--            this.$Message.success("坐标地址获取失败")-->
<!--          }-->
<!--        })-->
<!--      })-->
<!--    },-->
<!--    // 获取折线覆盖物数据-->
<!--    mapPolylineData(mapPolyline) {-->
<!--      let len = mapPolyline.length-->
<!--      return new Promise((resolve, reject) => {-->
<!--        for (let i = 0; i < len; i++) {-->
<!--          let geoLngLat = mapPolyline[i].getPath()-->
<!--          let linePath = geoLngLat.map(item => {-->
<!--            return [item.lng, item.lat]-->
<!--          })-->
<!--          let polylineData = this.polylineData-->
<!--          this.geocoder.getAddress(geoLngLat, (status, result) => {-->
<!--            let address = []-->
<!--            if (status === "complete" && result.regeocodes.length) {-->
<!--              for (let j = 0; j < result.regeocodes.length; j += 1) {-->
<!--                address.push({-->
<!--                  pointName: result.regeocodes[j].formattedAddress,-->
<!--                  longitude: geoLngLat[j].lng,-->
<!--                  latitude: geoLngLat[j].lat,-->
<!--                  orders: j-->
<!--                })-->
<!--              }-->
<!--              polylineData.push({-->
<!--                points: address,-->
<!--                line: linePath-->
<!--              })-->
<!--              this.polylineData = polylineData-->
<!--              if (polylineData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            } else {-->
<!--              this.$Message.success("坐标地址获取失败")-->
<!--              for (let adi = 0; adi < len; adi += 1) {-->
<!--                address.push({-->
<!--                  pointName: "",-->
<!--                  longitude: geoLngLat[adi].lng,-->
<!--                  latitude: geoLngLat[adi].lat,-->
<!--                  orders: adi-->
<!--                })-->
<!--              }-->
<!--              polylineData.push({-->
<!--                points: address,-->
<!--                line: linePath-->
<!--              })-->
<!--              this.polylineData = polylineData-->
<!--              if (polylineData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            }-->
<!--          })-->
<!--        }-->
<!--      })-->
<!--    },-->
<!--    // 获取多边形覆盖物数据-->
<!--    mapPolygonData(mapPolygon) {-->
<!--      let len = mapPolygon.length-->
<!--      return new Promise((resolve, reject) => {-->
<!--        for (let i = 0; i < len; i++) {-->
<!--          let geoLngLat = mapPolygon[i].getPath()-->
<!--          let linePath = geoLngLat.map(item => {-->
<!--            return [item.lng, item.lat]-->
<!--          })-->
<!--          let polygonData = this.polygonData-->
<!--          this.geocoder.getAddress(geoLngLat, (status, result) => {-->
<!--            let address = []-->
<!--            if (status === "complete" && result.regeocodes.length) {-->
<!--              for (let j = 0; j < result.regeocodes.length; j += 1) {-->
<!--                address.push({-->
<!--                  id: "",-->
<!--                  airspaceId: "",-->
<!--                  pointName: result.regeocodes[j].formattedAddress,-->
<!--                  longitude: geoLngLat[j].lng,-->
<!--                  latitude: geoLngLat[j].lat,-->
<!--                  orders: j-->
<!--                })-->
<!--              }-->
<!--              polygonData.push({-->
<!--                points: address,-->
<!--                line: linePath-->
<!--              })-->
<!--              // console.log("polygonData.length", polygonData.length)-->
<!--              this.polygonData = polygonData-->
<!--              if (polygonData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            } else {-->
<!--              this.$Message.success("坐标地址获取失败")-->
<!--              for (let ii = 0; ii < len; ii += 1) {-->
<!--                address.push({-->
<!--                  id: "",-->
<!--                  airspaceId: "",-->
<!--                  pointName: "",-->
<!--                  longitude: geoLngLat[ii].lng,-->
<!--                  latitude: geoLngLat[ii].lat,-->
<!--                  orders: ii-->
<!--                })-->
<!--              }-->
<!--              polygonData.push({-->
<!--                points: address,-->
<!--                line: linePath-->
<!--              })-->
<!--              this.polygonData = polygonData-->
<!--              if (polygonData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            }-->
<!--          })-->
<!--        }-->
<!--      })-->
<!--    },-->
<!--    // 获取点标记覆盖物数据-->
<!--    mapMarkerData(mapMarker) {-->
<!--      let len = mapMarker.length-->
<!--      let arrar = mapMarker.map(item => {-->
<!--        return item.getPosition()-->
<!--      })-->
<!--      return new Promise((resolve, reject) => {-->
<!--        let markerData = []-->
<!--        this.geocoder.getAddress(arrar, (status, result) => {-->
<!--          if (status === "complete" && result.regeocodes.length) {-->
<!--            for (let j = 0; j < result.regeocodes.length; j += 1) {-->
<!--              markerData.push({-->
<!--                longitude: mapMarker[j].getPosition().lng,-->
<!--                latitude: mapMarker[j].getPosition().lat,-->
<!--                orders: j,-->
<!--                address: result.regeocodes[j].formattedAddress-->
<!--              })-->
<!--              this.markerData = markerData-->
<!--              if (markerData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            }-->
<!--          } else {-->
<!--            this.$Message.success("坐标地址获取失败")-->
<!--            for (let mid = 0; mid < len; mid += 1) {-->
<!--              markerData.push({-->
<!--                longitude: mapMarker[mid].getPosition().lng,-->
<!--                latitude: mapMarker[mid].getPosition().lat,-->
<!--                orders: mid,-->
<!--                address: ""-->
<!--              })-->
<!--              this.markerData = markerData-->
<!--              if (markerData.length == len) {-->
<!--                resolve()-->
<!--              }-->
<!--            }-->
<!--          }-->
<!--        })-->
<!--      })-->
<!--    },-->

<!--    showCircle(data, needEdit = false) {-->
<!--      for (let i = 0; i < data.length; i++) {-->
<!--        let circle = new AMap.Circle({-->
<!--          center: [data[i].lnglat.lng, data[i].lnglat.lat],-->
<!--          radius: data[i].radius,-->
<!--          ...overlayStyle-->
<!--        })-->
<!--        circle.setMap(this.map)-->
<!--        this.addOverlay(circle)-->
<!--        this.creatRightHandle(circle)-->
<!--        if (needEdit) {-->
<!--          this.editCircle(circle)-->
<!--        }-->
<!--      }-->
<!--      this.setVueDebounce()-->
<!--    },-->
<!--    setCircle(center, radius) {-->
<!--      this.closeEdit()-->
<!--      this.clearMap()-->
<!--      let circle = new AMap.Circle({-->
<!--        center,-->
<!--        radius,-->
<!--        ...overlayStyle-->
<!--      })-->
<!--      this.addOverlay(circle)-->
<!--      circle.setMap(this.map)-->
<!--      this.creatRightHandle(circle)-->
<!--      this.setVueDebounce()-->
<!--      this.map.setCenter(center)-->
<!--    },-->
<!--    showMark(data) {-->
<!--      for (let i = 0; i < data.length; i++) {-->
<!--        let marker = new AMap.Marker({-->
<!--          position: new AMap.LngLat(data[i].lng, data[i].lat)-->
<!--        })-->
<!--        this.map.add(marker)-->
<!--        if (data[i].title) {-->
<!--          marker.setLabel({-->
<!--            direction: "bottom",-->
<!--            content: data[i].title //设置文本标注内容-->
<!--          })-->
<!--        }-->
<!--        this.addOverlay(marker)-->
<!--        this.creatRightHandle(marker)-->
<!--        this.dragendEndHandle(marker)-->
<!--      }-->
<!--      this.setVueDebounce()-->
<!--      this.map.setZoom(10)-->
<!--    },-->
<!--    // 单个显示-->
<!--    setMaker(lng, lat) {-->
<!--      // this.initMap()-->
<!--      this.closeEdit()-->
<!--      this.clearMap()-->
<!--      let marker = new AMap.Marker({-->
<!--        position: new AMap.LngLat(lng, lat)-->
<!--      })-->
<!--      this.map.add(marker)-->
<!--      this.addOverlay(marker)-->
<!--      this.creatRightHandle(marker)-->
<!--      this.dragendEndHandle(marker)-->
<!--      this.map.setCenter([lng, lat])-->
<!--      this.map.setZoom(10)-->
<!--    },-->
<!--    showPolygon(data, needEdit = false) {-->
<!--      for (let i = 0; i < data.length; i++) {-->
<!--        let polygon = new AMap.Polygon({-->
<!--          path: data[i],-->
<!--          ...overlayStyle-->
<!--        })-->
<!--        this.addOverlay(polygon)-->
<!--        polygon.setMap(this.map)-->
<!--        this.creatRightHandle(polygon)-->
<!--        if (needEdit) {-->
<!--          this.editPolygon(polygon)-->
<!--        }-->
<!--      }-->
<!--      this.setVueDebounce()-->
<!--    },-->
<!--    setPolygon(path) {-->
<!--      this.closeEdit()-->
<!--      this.clearMap()-->
<!--      let polygon = new AMap.Polygon({-->
<!--        path,-->
<!--        ...overlayStyle-->
<!--      })-->
<!--      this.addOverlay(polygon)-->
<!--      polygon.setMap(this.map)-->
<!--      this.creatRightHandle(polygon)-->
<!--      this.setVueDebounce()-->
<!--    },-->
<!--    showLine(data, needEdit = false) {-->
<!--      for (let i = 0; i < data.length; i++) {-->
<!--        let line = new AMap.Polyline({-->
<!--          path: data[i],-->
<!--          strokeColor: "#3366FF",-->
<!--          strokeWeight: 6,-->
<!--          showDir: true,-->
<!--          lineJoin: "round",-->
<!--          lineCap: "round"-->
<!--        })-->
<!--        this.addOverlay(line)-->
<!--        line.setMap(this.map)-->
<!--        this.creatRightHandle(line)-->
<!--        if (needEdit) {-->
<!--          this.editPolyline(line)-->
<!--        }-->
<!--      }-->
<!--      this.setVueDebounce()-->
<!--    },-->
<!--    setLine(path) {-->
<!--      this.closeEdit()-->
<!--      this.clearMap()-->
<!--      let line = new AMap.Polyline({-->
<!--        path,-->
<!--        strokeColor: "#3366FF",-->
<!--        strokeWeight: 6,-->
<!--        showDir: true,-->
<!--        lineJoin: "round",-->
<!--        lineCap: "round"-->
<!--      })-->
<!--      this.addOverlay(line)-->
<!--      line.setMap(this.map)-->
<!--      if (!this.onlyShow) {-->
<!--        this.creatRightHandle(line)-->
<!--      }-->
<!--      this.setVueDebounce()-->
<!--    },-->
<!--    setVueDebounce:VueDebounce('setFitView'),-->
<!--    setFitView(){-->
<!--      this.map && this.map.setFitView(null, false)-->
<!--    },-->
<!--    addOverlay(o) {-->
<!--      let overlays = this.overlays-->
<!--      overlays.push(o)-->
<!--      this.overlays = overlays-->
<!--    },-->
<!--    dragendEndHandle(key) {-->
<!--      key.on("dragend", obj => {-->
<!--        if (this.single) {-->
<!--          this.save()-->
<!--        }-->
<!--      })-->
<!--    },-->
<!--    creatRightHandle(key) {-->
<!--      if (this.onlyShow) return-->
<!--      key.on("rightclick", cliObj => {-->
<!--        this.nowCaozuo = cliObj.target-->
<!--        // 判断鼠标右键点击的是什么图形-->
<!--        if (cliObj.target.className == "Overlay.Circle") {-->
<!--          this.createMenu(cliObj, "editCircle")-->
<!--        } else if (cliObj.target.className == "AMap.Marker") {-->
<!--          this.createMenu(cliObj, "marker")-->
<!--        } else if (cliObj.target.className == "Overlay.Polyline") {-->
<!--          this.createMenu(cliObj, "editPolyline")-->
<!--        } else if (cliObj.target.className == "Overlay.Polygon") {-->
<!--          this.createMenu(cliObj, "editPolygon")-->
<!--        } else {-->
<!--        }-->
<!--        this.contextMenu.open(this.map, cliObj.lnglat)-->
<!--      })-->
<!--    },-->
<!--    closeEdit() {-->
<!--      if (this.Editor) {-->
<!--        this.Editor.close()-->
<!--        this.Editor = null-->
<!--      }-->
<!--      if (this.map) {-->
<!--        this.map.setDefaultCursor("pointer")-->
<!--      }-->
<!--    },-->
<!--    clearMap() {-->
<!--      if (this.map) {-->
<!--        this.map.clearMap()-->
<!--      }-->
<!--    },-->
<!--    clearAllGraph() {-->
<!--      this.overlays = []-->
<!--      this.clearMap()-->
<!--      this.closeEdit()-->
<!--    },-->
<!--    saveMap() {-->
<!--      this.save()-->
<!--    },-->
<!--    async save() {-->
<!--      this.polylineData = []-->
<!--      this.polygonData = []-->
<!--      this.circleData = []-->
<!--      this.markerData = []-->
<!--      let mapMarker = this.map.getAllOverlays("marker")-->
<!--      let mapCircle = this.map.getAllOverlays("circle")-->
<!--      let mapPolygon = this.map.getAllOverlays("polygon")-->
<!--      let mapPolyline = this.map.getAllOverlays("polyline")-->
<!--      if (mapMarker.length > 0) {-->
<!--        await this.mapMarkerData(mapMarker) //点标记-->
<!--      }-->
<!--      if (mapCircle.length > 0) {-->
<!--        await this.mapCircleData(mapCircle) //圆形-->
<!--      }-->
<!--      if (mapPolygon.length > 0) {-->
<!--        await this.mapPolygonData(mapPolygon) //多边形-->
<!--      }-->
<!--      if (mapPolyline.length > 0) {-->
<!--        await this.mapPolylineData(mapPolyline) //折线-->
<!--      }-->
<!--      let allMapData = {-->
<!--        markerData: this.markerData,-->
<!--        circleData: this.circleData,-->
<!--        polygonData: this.polygonData,-->
<!--        polylineData: this.polylineData-->
<!--      }-->
<!--      this.$emit("getMapData", allMapData)-->
<!--    },-->
<!--    fullSrceen() {-->
<!--      // let main = document.body-->
<!--      // if (this.fullId) {-->
<!--      let main = this.$refs.allMapOperation-->
<!--      // }-->
<!--      let isFullscreen = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen-->
<!--      isFullscreen = !!isFullscreen-->
<!--      if (isFullscreen) {-->
<!--        if (document.exitFullscreen) {-->
<!--          document.exitFullscreen()-->
<!--        } else if (document.mozCancelFullScreen) {-->
<!--          document.mozCancelFullScreen()-->
<!--        } else if (document.webkitCancelFullScreen) {-->
<!--          document.webkitCancelFullScreen()-->
<!--        } else if (document.msExitFullscreen) {-->
<!--          document.msExitFullscreen()-->
<!--        }-->
<!--        this.isFull = false-->
<!--      } else {-->
<!--        if (main.requestFullscreen) {-->
<!--          main.requestFullscreen()-->
<!--        } else if (main.mozRequestFullScreen) {-->
<!--          main.mozRequestFullScreen()-->
<!--        } else if (main.webkitRequestFullScreen) {-->
<!--          main.webkitRequestFullScreen()-->
<!--        } else if (main.msRequestFullscreen) {-->
<!--          main.msRequestFullscreen()-->
<!--        }-->
<!--        this.isFull = true-->
<!--      }-->
<!--    }-->
<!--  },-->
<!--  beforeDestroy() {-->
<!--    console.log("销毁")-->
<!--    this.mouseTool = null-->
<!--    this.geocoder = null-->
<!--    this.Editor = null-->
<!--    this.nowCaozuo = null-->
<!--    this.contextMenu = null-->
<!--    this.overlays = []-->
<!--    if (this.map) {-->
<!--      this.map.destroy()-->
<!--      this.map = null-->
<!--    }-->
<!--  }-->
<!--}-->
<!--</script>-->
<!--<style lang="less">-->
<!--.allMapOperation {-->
<!--  position: relative;-->
<!--  .draw-container {-->
<!--    height: 100%;-->
<!--    width: 100%;-->
<!--  }-->
<!--  .drawmap-operation-menu {-->
<!--    display: flex;-->
<!--    flex-direction: column;-->
<!--    min-width: 0;-->
<!--    word-wrap: break-word;-->
<!--    background-color: #fff;-->
<!--    background-clip: border-box;-->
<!--    border-radius: 0.25rem;-->
<!--    width: 48px;-->
<!--    border-width: 0;-->
<!--    border-radius: 0.4rem;-->
<!--    box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);-->
<!--    position: absolute;-->
<!--    top: 8rem;-->
<!--    right: 1rem;-->
<!--    -ms-flex: 1 1 auto;-->
<!--    flex: 1 1 auto;-->
<!--  }-->
<!--  .drawmap-tooltip {-->
<!--    display: flex;-->
<!--    align-items: center;-->
<!--    justify-content: center;-->
<!--  }-->
<!--  .info {-->
<!--    padding: 0.25rem 0.75rem;-->
<!--    margin-bottom: 1rem;-->
<!--    border-radius: 0.25rem;-->
<!--    position: absolute;-->
<!--    top: 5px;-->
<!--    background-color: white;-->
<!--    width: auto;-->
<!--    border-width: 0;-->
<!--    right: 5px;-->
<!--    box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);-->
<!--    line-height: 22px;-->
<!--  }-->
<!--  .fullScreen {-->
<!--    position: absolute;-->
<!--    right: 5px;-->
<!--    bottom: 5px;-->
<!--    display: flex;-->
<!--    flex-direction: column;-->
<!--    justify-content: center;-->
<!--    align-items: center;-->
<!--    border-radius: 0.25rem;-->
<!--    width: 30px;-->
<!--    height: 30px;-->
<!--    box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);-->
<!--  }-->
<!--}-->
<!--</style>-->
