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()