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