Merge branch 'develop' of http://xny.yj-3d.com:3000/zh/sdk4.0 into develop

This commit is contained in:
zh
2025-08-26 18:09:51 +08:00
2 changed files with 46 additions and 8 deletions

View File

@ -30,6 +30,7 @@ class TextBox extends Base {
this.textDom = undefined
this.create(this)
this.sdk.addIncetance(this.options.id, this)
this.callback = callback
// syncData(this.sdk, this.options.id)
@ -46,6 +47,7 @@ class TextBox extends Base {
let dom = document.createElement('span');
dom.id = that.options.id
dom.className = 'popup-textarea'
dom.style.zIndex = 1
// 创建textarea元素
var textarea = document.createElement('textarea');
textarea.className = 'textarea'
@ -134,17 +136,45 @@ class TextBox extends Base {
this.options.text = words
this.callback(this.options)
let { sdkP } = getSdk()
if(this.sdk === sdkP) {
console.log(3)
if (this.sdk === sdkP && sdkP) {//三维
syncData(this.sdk, this.options.id)
}
else {
console.log(2)
else if (sdkP) {//二维
sdkP.entityMap.get(this.options.id).text = words
sdkP.entityMap.get(this.options.id).twoToThree(this.options.position)
} else if (!sdkP) {
syncData(this.sdk, this.options.id)
}
}
async twoToThree(position) {
let that = this
that.sdk.viewer.scene.postRender.removeEventListener(that.handler);
let posi = Cesium.Cartesian3.fromDegrees(position.lng, position.lat, position.alt)
that.handler = function () {
const position = Cesium.SceneTransforms.wgs84ToWindowCoordinates(
that.sdk.viewer.scene, posi
);
if (position) {
let width = that.textDom.clientWidth * 1
let height = that.textDom.clientHeight * 1
that.textDom.style.left = `${position.x - width / 2}px`;
that.textDom.style.top = `${position.y - height}px`;
}
}
that.sdk.viewer.scene.postRender.addEventListener(that.handler);
}
async returnFun() {
return this.handler
}
get text() {
return this.options.text
}
set text(val) {
this.options.text = val
this.textDom.querySelector('textarea').value = val
this.callback(this.options)
}
get onClick() {
return this.clickCallBack
}