From d38b1383170d351e73002814391d04222c7b2fa4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Fri, 5 Dec 2025 13:58:33 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=B9=E6=B2=A1=E5=88=86=E6=9E=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Global/MouseCoordinate/index.js | 4 ++--
src/Global/global.js | 20 ++++++++++----------
src/Obj/Analysis/Submerge/index.js | 17 ++++++++++++++---
3 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/src/Global/MouseCoordinate/index.js b/src/Global/MouseCoordinate/index.js
index eaccee7..c4ac9e6 100644
--- a/src/Global/MouseCoordinate/index.js
+++ b/src/Global/MouseCoordinate/index.js
@@ -181,7 +181,7 @@ const MouseCoordinate = (sdk, status) => {
// contentElm.innerHTML = `
经度:${degrees.lng.toFixed(6)}°
维度:${degrees.lat.toFixed(6)}°
海拔:${degrees.alt.toFixed(2)} m
`
switch (positionType || '度') {
case '度':
- contentElm.innerHTML = `经度:${degrees.lng.toFixed(6)}°
维度:${degrees.lat.toFixed(6)}°
海拔:${degrees.alt.toFixed(2)} m
`
+ contentElm.innerHTML = `经度:${degrees.lng.toFixed(8)}°
维度:${degrees.lat.toFixed(8)}°
海拔:${degrees.alt.toFixed(2)} m
`
break;
case '度分':
contentElm.innerHTML = `经度:${proj.degreesToDMS(degrees.lng, true)}
维度:${proj.degreesToDMS(degrees.lat, true)}
海拔:${degrees.alt.toFixed(2)} m
`
@@ -197,7 +197,7 @@ const MouseCoordinate = (sdk, status) => {
// let result = tools.convert([{ x: degrees.lng, y: degrees.lat, z: degrees.alt }], 'EPSG:4326', coordinateSystem)
let result = tools.convert([{ x: degrees.lng, y: degrees.lat, z: degrees.alt }], 'EPSG:4326', posiToCoordinate(coordinateSystem, degrees))
position = result.points[0]
- contentElm.innerHTML = `x:${position.x.toFixed(6)}
y:${position.y.toFixed(6)}
z:${position.z.toFixed(6)}
`
+ contentElm.innerHTML = `x:${position.x.toFixed(2)}
y:${position.y.toFixed(2)}
z:${position.z.toFixed(2)}
`
}
}
else {
diff --git a/src/Global/global.js b/src/Global/global.js
index 220f7cc..2d3e163 100644
--- a/src/Global/global.js
+++ b/src/Global/global.js
@@ -207,8 +207,8 @@ function CesiumContainer(sdk, options) {
switch (positionType || '度') {
case '度':
infoElm.innerHTML = `
- 经度:${Number(position.lng.toFixed(6))}°
- 纬度:${Number(position.lat.toFixed(6))}°
+ 经度:${Number(position.lng.toFixed(8))}°
+ 纬度:${Number(position.lat.toFixed(8))}°
高程:${Number(position.alt.toFixed(2))}米
`
break;
@@ -235,9 +235,9 @@ function CesiumContainer(sdk, options) {
let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', posiToCoordinate(coordinateSystem, position))
if (result.points.length) {
infoElm.innerHTML = `
- x:${Number(result.points[0].x.toFixed(6))}
- y:${Number(result.points[0].y.toFixed(6))}
- z:${Number(result.points[0].z.toFixed(6))}
+ x:${Number(result.points[0].x.toFixed(2))}
+ y:${Number(result.points[0].y.toFixed(2))}
+ z:${Number(result.points[0].z.toFixed(2))}
`
}
@@ -783,8 +783,8 @@ function setCoordinateSystem(sdk, epsg) {
switch (positionType || '度') {
case '度':
infoElm.innerHTML = `
- 经度:${Number(position.lng.toFixed(6))}°
- 纬度:${Number(position.lat.toFixed(6))}°
+ 经度:${Number(position.lng.toFixed(8))}°
+ 纬度:${Number(position.lat.toFixed(8))}°
海拔高度:${Number(position.alt.toFixed(2))}米
`
break;
@@ -810,9 +810,9 @@ function setCoordinateSystem(sdk, epsg) {
// let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', coordinateSystem)
let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', posiToCoordinate(coordinateSystem, position))
infoElm.innerHTML = `
- x:${Number(result.points[0].x.toFixed(6))}
- y:${Number(result.points[0].y.toFixed(6))}
- z:${Number(result.points[0].z.toFixed(6))}
+ x:${Number(result.points[0].x.toFixed(2))}
+ y:${Number(result.points[0].y.toFixed(2))}
+ z:${Number(result.points[0].z.toFixed(2))}
`
}
}
diff --git a/src/Obj/Analysis/Submerge/index.js b/src/Obj/Analysis/Submerge/index.js
index 81246dc..0eb7f21 100644
--- a/src/Obj/Analysis/Submerge/index.js
+++ b/src/Obj/Analysis/Submerge/index.js
@@ -9,7 +9,7 @@ class Submerge extends Tools {
* @param sdk
* @description 淹没效果
* */
- constructor(sdk, options = {}, _Dialog = {}) {
+ constructor(sdk, options = {}, _Dialog = {}, callback) {
super(sdk, options);
this.sdk = sdk
this.options = {}
@@ -27,6 +27,7 @@ class Submerge extends Tools {
this.area = 0
this._elms = {};
this.tools = new Tools(this.sdk)
+ this.callback = callback
YJ.Analysis.AnalysesResults.push(this)
// Submerge.EditBox(this)
// Submerge.create(this)
@@ -276,6 +277,7 @@ class Submerge extends Tools {
value = 0
}
that.options.waterVolume = Math.floor(value * 10000) / 10000;
+
if (that.area) {
that.waterLevel = Number((that.options.waterVolume / that.area).toFixed(4))
that.options.maxWaterLevel = that.options.minWaterLevel + that.waterLevel
@@ -338,7 +340,6 @@ class Submerge extends Tools {
}
set onEnd(val) {
if (val && typeof val !== 'function') {
- console.error('val:', val, '不是一个function')
} else {
this.clickCallBack = val
}
@@ -387,11 +388,17 @@ class Submerge extends Tools {
// if (this.TweenAnimate) {
// TWEEN.remove(this.TweenAnimate)
// }
- if (!this.TweenAnimate) {
+ let that = this
+ if (!this.TweenAnimate && this.options.risingSpeed) {
let totalTime = ((this.options.maxWaterLevel - this.options.minWaterLevel) / this.options.risingSpeed) * 1000
this.TweenAnimate = new TWEEN.Tween({ waterLevel: this.options.minWaterLevel }).to({ waterLevel: this.options.maxWaterLevel }, totalTime).delay(this.delay).easing(TWEEN.Easing.Linear.None).onUpdate(async (r, a) => {
this.currentWaterLaver = r.waterLevel
+ }).onComplete(() => {
+ that.callback()
+ // 在这里执行动画结束后的逻辑
}).start()
+ } else if (!this.options.risingSpeed) {
+ that.callback()
}
// let contentElm = this._DialogObject._element.body
// let pauseBtn = contentElm.getElementsByClassName('pause')[0];
@@ -403,6 +410,7 @@ class Submerge extends Tools {
restart() {
this.currentWaterLaver = this.options.minWaterLevel
let isPaused = false
+ let that = this
if (this.TweenAnimate) {
isPaused = this.TweenAnimate._isPaused
TWEEN.remove(this.TweenAnimate)
@@ -410,6 +418,9 @@ class Submerge extends Tools {
let totalTime = ((this.options.maxWaterLevel - this.options.minWaterLevel) / this.options.risingSpeed) * 1000
this.TweenAnimate = new TWEEN.Tween({ waterLevel: this.options.minWaterLevel }).to({ waterLevel: this.options.maxWaterLevel }, totalTime).delay(this.delay).easing(TWEEN.Easing.Linear.None).onUpdate(async (r, a) => {
this.currentWaterLaver = r.waterLevel
+ }).onComplete(() => {
+ that.callback()
+ // 在这里执行动画结束后的逻辑
}).start()
// if (isPaused) {
this.pause()