无人机管理后台前端(已迁走)
张含笑
2025-10-27 70df9429bb56fc293cf7891cb261c2403c0bcb6e
src/views/layerManagement/components/utils.js
@@ -164,6 +164,8 @@
            ind: pointIndex, // 索引记录
         },
      })
   }
   // 清除不在范围内的点
   removeLastInvalidPoint() {
@@ -308,11 +310,11 @@
      this.removeMenuPopup()
      const pickedAllEntity = this.viewer.scene.drillPick(click.position).filter(i => i.id)
      const isStartPoint = pickedAllEntity.find(i => i.id.name === '起飞点')
      const isPolygonPoint = pickedAllEntity.find(i => i.id.name === DrawPolygon.ENTITY_NAMES.POINT)
      const isPolygon = pickedAllEntity.find(i => i.id.name === DrawPolygon.ENTITY_NAMES.POLYGON)
      if (isStartPoint) return
      // 如果不是绘制模式
      if (!this.drawingMode) {
@@ -349,10 +351,11 @@
   }
   // 鼠标右键点击(弹出菜单)
   handleRightClick(click) {
   handleRightClick(click) {
      console.log('click',click);
      const that = this
      if (that.drawingMode) return
      that.removeMenuPopup()
      const pickedAllEntity = that.viewer.scene.drillPick(click.position).filter(i => i.id)
@@ -367,10 +370,12 @@
         pickedEntity = isPolygon
         tooltipEvent = that.delPolygon
         menuType = 'polygon'
      } else if (isEditPoint) {
         pickedEntity = isEditPoint
         tooltipEvent = that.delPoint
         menuType = 'edit-point'
      }
      if (pickedEntity && this.isDeleteTheArea) {
@@ -469,6 +474,7 @@
      menuPopup.id = 'planarPolygonEditMenu'
      menuPopup.className = 'planar-polygon-edit-menu'
      const menuItems =
         type === 'polygon'
            ? [{ title: '删除测区', class: 'del-planar-polygon' }]
@@ -480,6 +486,7 @@
         titleDiv.className = item.class
         menuPopup.appendChild(titleDiv)
      })
      this.isPreviewMode = true
      menuPopupVBox.appendChild(menuPopup)
      return menuPopupVBox
@@ -540,7 +547,7 @@
   initPolygon(viewer, positions, isPurePreview = false) {
      this.initHandler(viewer)
      this.isPureSpotPreview = isPurePreview
      this.startDrawing()
      // this.startDrawing()
      let newPosition = positions.map(item => {
         return Cesium.Cartesian3.fromDegrees(Number(item.lng), Number(item.lat), Number(item.height))
      })
@@ -571,7 +578,7 @@
   // 初始化事件处理器
   initHandler(viewer) {
      this.viewer = viewer
      this.startDrawing()
      // this.startDrawing()
      if (!this.handler) {
         this.handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)