From 4c390d209b45d516fbe2f7552d26048687c83972 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Wed, 05 Aug 2026 14:29:25 +0800
Subject: [PATCH] feat:tab切换太快的时候内容不对应
---
applications/drone-command/src/utils/cesium/shapeTools/draw/DrawEllipseTool.js | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/applications/drone-command/src/utils/cesium/shapeTools/draw/DrawEllipseTool.js b/applications/drone-command/src/utils/cesium/shapeTools/draw/DrawEllipseTool.js
index 5f48d80..3babb9b 100644
--- a/applications/drone-command/src/utils/cesium/shapeTools/draw/DrawEllipseTool.js
+++ b/applications/drone-command/src/utils/cesium/shapeTools/draw/DrawEllipseTool.js
@@ -1,5 +1,5 @@
import * as Cesium from 'cesium'
-import { MapTooltip } from '../Tooltip'
+import { MapTooltip } from '@ztzf/utils'
import { ToolBase } from '../ToolBase'
import { buildEllipsePositions } from '../shapeUtils'
@@ -37,7 +37,7 @@
this.handler.setInputAction(movement => this.handleMouseMove(movement), Cesium.ScreenSpaceEventType.MOUSE_MOVE)
this.drawStep = 0
this.isCompleted = false
- this.tooltip.show('单击设置中心点', { x: 0, y: 0 })
+ this.tooltip.hide()
}
handleLeftClick(click) {
@@ -87,7 +87,17 @@
handleMouseMove(movement) {
if (this.isCompleted) return
- this.tooltip.move(movement.endPosition)
+ const tipText = this.drawStep === 0
+ ? '单击设置中心点'
+ : this.drawStep === 1
+ ? '单击设置长轴'
+ : '单击设置短轴'
+ if (!this.tooltip?.isVisible) {
+ this.tooltip.show(tipText, movement.endPosition)
+ } else {
+ this.tooltip.show(tipText)
+ this.tooltip.move(movement.endPosition)
+ }
if (!this.isDrawing) return
const position = this.getPositionFromScreen(movement.endPosition)
if (!position) return
@@ -134,7 +144,8 @@
getPositionFromScreen(screenPosition) {
const scene = this.viewer.scene
- const cartesian = scene.pickPosition(screenPosition)
+ const ray = scene.camera.getPickRay(screenPosition)
+ const cartesian = ray ? scene.globe.pick(ray, scene) : null
if (cartesian) return cartesian
return scene.camera.pickEllipsoid(screenPosition, scene.globe.ellipsoid)
}
--
Gitblit v1.9.3