优化扩散圆平移时的lable高度计算

This commit is contained in:
zh
2025-12-09 10:43:58 +08:00
parent 4622ee736c
commit 116245ed6b
2 changed files with 23 additions and 7 deletions

View File

@ -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

View File

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