| | |
| | | this.entityFactory = entityFactory |
| | | this.eventHub = eventHub |
| | | this.labelManager = labelManager |
| | | this.enableCornerDrag = false |
| | | // 后续开启方式:如需恢复顶点拖拽控制点,在外层调用 |
| | | // editManager.setCornerDragEnabled(true) |
| | | // 保持现有逻辑不变,避免再次修改核心代码 |
| | | } |
| | | |
| | | computeCenter (positions) { |
| | |
| | | }, 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 } }) |
| | |
| | | }, Cesium.ScreenSpaceEventType.LEFT_DOWN) |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK) |
| | | } |
| | | |
| | | // 开启/关闭顶点拖拽控制点(外层调用) |
| | | // 使用方式:editManager.setCornerDragEnabled(true) |
| | | setCornerDragEnabled (flag) { this.enableCornerDrag = !!flag } |
| | | } |