今天在写label的时候,发现高度为0时,label显示不全,影响用户体验,代码如下:
window.labelEntity = viewer.entities.add({
label: {
show: false,
showBackground: true,
font: "14px monospace",
horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
verticalOrigin: Cesium.VerticalOrigin.TOP,
pixelOffset: new Cesium.Cartesian2(15, 0),
},
});

要解决这个问题,需要给label增加一行属性设置代码:
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND
全部代码如下:
window.labelEntity = viewer.entities.add({
label: {
show: false,
showBackground: true,
font: "14px monospace",
horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
verticalOrigin: Cesium.VerticalOrigin.TOP,
pixelOffset: new Cesium.Cartesian2(15, 0),
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND
},
});
解决问题后,label就能够完整显示了

本文解决了一个在使用Cesium进行3D地图开发时遇到的问题:当标签的高度为0时,标签显示不全。通过添加heightReference属性并设置为CLAMP_TO_GROUND,实现了标签在不同高度下都能完整显示的效果。
893

被折叠的 条评论
为什么被折叠?



