为场景中的物体绑定信息面板,点击时展示,重置时避免清除所有面板
var app = new THING.App({
"url": "/api/scene/url",
"skyBox": "BlueSky"
});
app.on('load', function (ev) {
let things = app.query('.Thing');
things.forEach((obj) => {
obj.on('click', ()=>{
reset();
new CreatePanel(obj);
})
})
})
class CreatePanel {
constructor(o) {
this.init(o);
}
init(o) {
var obj = o;
var panel = new THING.widget.Panel({
width: '150px',
cornerType: 'polyline'
})
panel.diydomElement.classList.add('myPanel');
panel.addString(obj, 'name').caption('名称');
panel.addString(obj, 'id').caption('ID');
if (uiAnchor) {
console.log(uiAnchor)
}
var uiAnchor = app.create({
type: 'UIAnchor',
parent: obj,
element: panel.domElement,
localPosition: [0, 0, 0],
pivotPixel: [-16, 109]
});
}
}
function reset(){
$(".myPanel").remove();
}
