From ad57696cef86a678512e93207bc5538d30bc40ee Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 03 Aug 2026 10:39:46 +0800
Subject: [PATCH] feat: 播放按钮居中
---
applications/drone-command/src/utils/cesium/shapeTools/edit/EditEllipseTool.js | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/applications/drone-command/src/utils/cesium/shapeTools/edit/EditEllipseTool.js b/applications/drone-command/src/utils/cesium/shapeTools/edit/EditEllipseTool.js
index 228eae3..1a8ad67 100644
--- a/applications/drone-command/src/utils/cesium/shapeTools/edit/EditEllipseTool.js
+++ b/applications/drone-command/src/utils/cesium/shapeTools/edit/EditEllipseTool.js
@@ -1,5 +1,5 @@
import * as Cesium from 'cesium'
-import { MapTooltip } from '../Tooltip'
+import { MapTooltip } from '@ztzf/utils'
import { ToolBase } from '../ToolBase'
import {
getBoundsFromLngLats,
@@ -81,10 +81,8 @@
const minorFromMeta = Number.isFinite(meta?.semiMinor) ? Number(meta.semiMinor) : 0
const majorPoint = resolveCartographic(meta?.majorPoint)
const minorPoint = resolveCartographic(meta?.minorPoint)
- const majorDistance =
- majorFromMeta || (majorPoint ? getMetersBetween(centerCarto, majorPoint) : 0)
- const minorDistance =
- minorFromMeta || (minorPoint ? getMetersBetween(centerCarto, minorPoint) : 0)
+ const majorDistance = majorFromMeta || (majorPoint ? getMetersBetween(centerCarto, majorPoint) : 0)
+ const minorDistance = minorFromMeta || (minorPoint ? getMetersBetween(centerCarto, minorPoint) : 0)
if (majorDistance > 0) this.semiMajor = Math.max(1, majorDistance)
if (minorDistance > 0) this.semiMinor = Math.max(1, minorDistance)
if (this.semiMinor > this.semiMajor) this.semiMinor = this.semiMajor
@@ -119,7 +117,7 @@
this.handler.setInputAction(evt => this.handleLeftDown(evt), Cesium.ScreenSpaceEventType.LEFT_DOWN)
this.handler.setInputAction(evt => this.handleMouseMove(evt), Cesium.ScreenSpaceEventType.MOUSE_MOVE)
this.handler.setInputAction(() => this.handleLeftUp(), Cesium.ScreenSpaceEventType.LEFT_UP)
- this.tooltip.show('拖动控制点编辑', { x: 0, y: 0 })
+ this.tooltip.hide()
}
handleLeftDown(evt) {
@@ -132,7 +130,12 @@
}
handleMouseMove(evt) {
- this.tooltip.move(evt.endPosition)
+ if (!this.tooltip?.isVisible) {
+ this.tooltip.show('拖动控制点编辑', evt.endPosition)
+ } else {
+ this.tooltip.show('拖动控制点编辑')
+ this.tooltip.move(evt.endPosition)
+ }
if (!this.dragType) return
const position = this.getPositionFromScreen(evt.endPosition)
if (!position) return
@@ -252,7 +255,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