From 37539b33023be5231f51c3f4d13ab477877ee9c4 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 24 Nov 2025 09:19:18 +0800
Subject: [PATCH] feat:编辑模式等相关处理

---
 js/modules/edit-manager.js |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/js/modules/edit-manager.js b/js/modules/edit-manager.js
index 686a72e..44bd3df 100644
--- a/js/modules/edit-manager.js
+++ b/js/modules/edit-manager.js
@@ -4,6 +4,10 @@
     this.entityFactory = entityFactory
     this.eventHub = eventHub
     this.labelManager = labelManager
+    this.enableCornerDrag = false
+    // 后续开启方式:如需恢复顶点拖拽控制点,在外层调用
+    // editManager.setCornerDragEnabled(true)
+    // 保持现有逻辑不变,避免再次修改核心代码
   }
 
   computeCenter (positions) {
@@ -74,11 +78,12 @@
     }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
 
     editTriggerHandler.setInputAction((click) => {
+      this.entityFactory.removeEntityLikeName('polygonEditPoint')
+      if (!this.enableCornerDrag) return
       if (!isActivateEditRef.value) return
       const pickC = viewer.scene.pick(click.position)
       const rid = pickC && (pickC.id?.id || pickC.id || pickC.primitive?.id)
       if (String(rid) !== 'polygon') return
-      this.entityFactory.removeEntityLikeName('polygonEditPoint')
       const positions = polygonPositionListRef.value
       positions.forEach((ele, index) => {
         viewer.entities.add({ name: 'polygonEditPoint', id: 'point' + index, position: ele, point: { color: new Cesium.Color(0, 1, 1, 0.9), pixelSize: 10 } })
@@ -124,4 +129,8 @@
       }, Cesium.ScreenSpaceEventType.LEFT_DOWN)
     }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
   }
+
+  // 开启/关闭顶点拖拽控制点(外层调用)
+  // 使用方式:editManager.setCornerDragEnabled(true)
+  setCornerDragEnabled (flag) { this.enableCornerDrag = !!flag }
 }
\ No newline at end of file

--
Gitblit v1.9.3