From 116245ed6b778f6a5d7a658ab2ddb063068167d2 Mon Sep 17 00:00:00 2001 From: zh <972939975@qq.com> Date: Tue, 9 Dec 2025 10:43:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=A9=E6=95=A3=E5=9C=86?= =?UTF-8?q?=E5=B9=B3=E7=A7=BB=E6=97=B6=E7=9A=84lable=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Obj/Analysis/Contour/index.js | 2 +- src/Obj/Base/CircleDiffuse/index.js | 28 ++++++++++++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/Obj/Analysis/Contour/index.js b/src/Obj/Analysis/Contour/index.js index 8cd3397..73cec1f 100644 --- a/src/Obj/Analysis/Contour/index.js +++ b/src/Obj/Analysis/Contour/index.js @@ -12,7 +12,7 @@ class ContourAnalysis { let terrainAvailability = this.viewer.terrainProvider.availability; if (!terrainAvailability) { this.error = '未加载地形数据!' - this.tools.message({ type: 'warning', text: this.error }) + // this.tools.message({ type: 'warning', text: this.error }) return } this.positions = options.positions diff --git a/src/Obj/Base/CircleDiffuse/index.js b/src/Obj/Base/CircleDiffuse/index.js index 2b07192..caff543 100644 --- a/src/Obj/Base/CircleDiffuse/index.js +++ b/src/Obj/Base/CircleDiffuse/index.js @@ -299,8 +299,9 @@ class CircleDiffuse extends Base { } this.event.mouse_move((movement, cartesian) => { let positions = this.cartesian3Towgs84(cartesian, this.sdk.viewer) + this.options.lng = positions.lng + this.options.lat = positions.lat this.lng = positions.lng - this.lat = positions.lat this.tip.setPosition( cartesian, movement.endPosition.x, @@ -309,8 +310,9 @@ class CircleDiffuse extends Base { }) this.event.mouse_left((movement, cartesian) => { let positions = this.cartesian3Towgs84(cartesian, this.sdk.viewer) + this.options.lng = positions.lng + this.options.lat = positions.lat this.lng = positions.lng - this.lat = positions.lat this.event.mouse_move(() => { }) this.event.mouse_left(() => { }) this.event.mouse_right(() => { }) @@ -337,8 +339,9 @@ class CircleDiffuse extends Base { } else { let positions = this.cartesian3Towgs84(cartesian, this.sdk.viewer) + this.options.lng = positions.lng + this.options.lat = positions.lat this.lng = positions.lng - this.lat = positions.lat this.event.mouse_move(() => { }) this.event.mouse_left(() => { }) this.event.mouse_right(() => { }) @@ -364,8 +367,9 @@ class CircleDiffuse extends Base { } this.tip && this.tip.destroy() if (this.lastOptions) { + this.options.lng = this.lastOptions.lng + this.options.lat = this.lastOptions.lat this.lng = this.lastOptions.lng - this.lat = this.lastOptions.lat } this.lastOptions = undefined } @@ -385,7 +389,13 @@ class CircleDiffuse extends Base { } set lng(v) { this.options.lng = v - this.label.position = [v, this.lat] + let objectsToExclude = [...this.sdk.viewer.entities.values] + this.getClampToHeight({ + lng: this.options.lng, + lat: this.options.lat + }, objectsToExclude).then(height => { + this.label.position = [this.options.lng, this.options.lat, height] + }) this._elms.lng && this._elms.lng.forEach((item) => { item.value = v }) @@ -395,7 +405,13 @@ class CircleDiffuse extends Base { } set lat(v) { this.options.lat = v - this.label.position = [this.lng, v] + let objectsToExclude = [...this.sdk.viewer.entities.values] + this.getClampToHeight({ + lng: this.options.lng, + lat: this.options.lat + }, objectsToExclude).then(height => { + this.label.position = [this.options.lng, this.options.lat, height] + }) this._elms.lat && this._elms.lat.forEach((item) => { item.value = v })