本节教程来讲解entity的description属性使用,官方文档解释为指定此实体的HTML描述的字符串属性,也就是说是一段字符串,只是这段字符串是HTML描述,看起来还是比较绕,下面来看下这个属性到底是如何使用的。
从这里可以看出,entity的description属性信息是在实体被选中之后,被用于填充到infobox中,展示entity的属性信息。
如果要使用Cesium自带的infobox对description的HTML字符串同样也是有一些要求,需要按照table标签拼接字符串,
let des = '<table class="cesium-infoBox-defaultTable"><tbody>' + '<tr><th>' + selectedFeatures[i].fieldNames["0"] + '</th><td>' + selectedFeatures[i].fieldValues["0"] + '</td></tr></tbody></table>';
viewer.entities.add({
position : Cesium.Cartesian3.fromDegrees(108,29,100),
billboard :{
image : './images/location4.png',
width:30,
height:40,
},
name : selectedFeatures[i].fieldValues["11"],
description: des
});
从上面的示例,对description的使用已经比较清楚了,那description还有没有其他的用法?
在小编看来description是用于存储对象的属性信息的,只要有相关的属性,也可以相应的存放在这里,不在遵循HTML的字符串,可以是任何形式的对象。
viewer.entities.add({
position : Cesium.Cartesian3.fromDegrees(108,29,100),
billboard :{
image : './images/location4.png',
width:30,
height:40,
},
name : selectedFeatures[i].fieldValues["11"],
description: {
name:"示例",
value:"test",
children:[{
name:"child",
value:"child"
}]
}
});
当description这么设置之后,就不能再使用Cesium原生的infobox,需要配合自定义的bubble进行属性的展示,自定义bubble的小编会在后续的教程中进行讲解。
本节课程就到这里,欢迎评论、转发、留言。