let _drawableContainer = null; //设置自定义标签 function setCustomLabels(obj) { // 初始化DrawableContainer if (_drawableContainer == null) { let drawableConfig = new Glodon.Bimface.Plugins.Drawable.DrawableContainerConfig(); drawableConfig.viewer = _viewer; _drawableContainer = new Glodon.Bimface.Plugins.Drawable.DrawableContainer(drawableConfig); } else { _drawableContainer.clear(); } if (obj == null || obj.length < 1) { return; } obj.forEach(item => { addCustomLabelItem(item); }); } //添加自定义标签项 //function addCustomLabelItem(item) { // let content = document.createElement('div'); // content.style.width = '110px'; // content.style.height = 'auto'; // content.style.border = 'solid'; // content.style.borderColor = '#FFFFFF'; // content.style.padding = '2px'; // content.style.borderWidth = '1px'; // content.style.borderRadius = '3px'; // content.style.background = '#32D3A6'; // content.innerHTML = getTdHtml(item.data); // content.style.color = '#FFFFFF'; // content.style.fontSize = '10px'; // //content.style.textAlign = 'center'; // content.style.lineHeight = '14px'; // let config = new Glodon.Bimface.Plugins.Drawable.CustomItemConfig(); // config.content = content; // config.viewer = _viewer; // config.opacity = 1; // config.worldPosition = _modeler.getBoundingBoxById(item.id).min; // let customLabelItem = new Glodon.Bimface.Plugins.Drawable.CustomItem(config); // _drawableContainer.addItem(customLabelItem); //} //清除自定义标签 function clearCustomLabels() { if (_drawableContainer == null) { return; } _drawableContainer.clear(); } //获取数据内容html //function getTdHtml(data) { // if (data == null || data.length < 1) { // return ''; // } // let html = ''; // data.forEach(d => { // html += '' // }); // return html += '
' + d.name + '' + d.value + '' + d.unit + '
'; //} //添加自定义标签项 function addCustomLabelItem(item) { let content = document.createElement('div'); content.className = 'w-fit rounded-md space-y-1.5 text-nowrap flex flex-col'; content.style.color = 'white'; content.style.backgroundColor = '#32d3a6'; content.style.padding = '5px'; content.style.fontSize = '10px'; content.innerHTML = getTdHtml(item.data); let config = new Glodon.Bimface.Plugins.Drawable.CustomItemConfig(); config.content = content; config.viewer = _viewer; config.opacity = 1; config.worldPosition = _modeler.getBoundingBoxById(item.id).min; let customLabelItem = new Glodon.Bimface.Plugins.Drawable.CustomItem(config); _drawableContainer.addItem(customLabelItem); } //获取数据内容html function getTdHtml(data) { if (data == null || data.length < 1) { return ''; } let html = ''; data.forEach((d) => { html += `
${d.name} ${d.value} ${d.unit}
`; }); return html; }