| 属性分类 | 属性名称 | 类型 | 默认值 | 描述 |
|---|
| 核心内容 | text | string | | 标签显示的文本内容。支持使用 '{propertyName}' 形式绑定 Entity 的 properties 中的字段。 |
| font | string | '30px sans-serif' | 设置文本字体样式,例如 '14pt monospace'12 或 '500 20px MyFont'7。 |
| 外观样式 | fillColor | Color | Color.WHITE | 文本的填充颜色。 |
| outlineColor | Color | Color.BLACK | 文本的轮廓颜色。 |
| outlineWidth | number | 1.0 | 文本的轮廓宽度。 |
| style | LabelStyle | LabelStyle.FILL | 文本样式:FILL(仅填充)、OUTLINE(仅轮廓)、FILL_AND_OUTLINE(填充+轮廓)12。 |
| scale | number | 1.0 | 标签的整体缩放比例。 |
| pixelOffset | Cartesian2 | Cartesian2.ZERO | 基于屏幕空间的像素偏移。X向右为正,Y向下为正47。 |
| eyeOffset | Cartesian3 | Cartesian3.ZERO | 基于场景世界的偏移。在相机视角方向上的偏移,常用于避免深度冲突7。 |
| heightReference | HeightReference | HeightReference.NONE | 高度参考:NONE(绝对高度)、CLAMP_TO_GROUND(贴地)、RELATIVE_TO_GROUND(相对地面)。 |
| 背景属性 | showBackground | boolean | false | 是否显示文本背景框47。 |
| backgroundColor | Color | Color.BLACK | 背景框的颜色47。 |
| backgroundPadding | Cartesian2 | new Cartesian2(7, 5) | 背景框的内边距(像素)4。 |
| 位置对齐 | horizontalOrigin | HorizontalOrigin | HorizontalOrigin.CENTER | 水平对齐原点:LEFT, CENTER, RIGHT47。 |
| verticalOrigin | VerticalOrigin | VerticalOrigin.CENTER | 垂直对齐原点:TOP, CENTER, BOTTOM, BASELINE124。 |
| 可见性与显示 | show | boolean | true | 控制标签的可见性。 |
| distanceDisplayCondition | DistanceDisplayCondition | | 根据与相机的距离条件控制显示,如 new DistanceDisplayCondition(1000.0, 10000.0) 表示在1000米到10000米范围内可见6。 |
| translucencyByDistance | NearFarScalar | | 根据与相机的距离条件控制透明度(渐变)。 |
| pixelOffsetScaleByDistance | NearFarScalar | | 根据与相机的距离条件控制像素偏移量的缩放。 |
| 其他属性 | disableDepthTestDistance | number | 0.0 | 设置多少距离后禁用深度测试(像素),可使标签不被地形或其他实体遮挡。 |
| scaleByDistance | NearFarScalar | | 根据与相机的距离条件控制标签本身的缩放(渐变)。 |
创建一个带标签的 Entity
const entity = viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(116.39, 39.91, 100),
label: {
text: '北京市',
font: '20px sans-serif',
fillColor: Cesium.Color.YELLOW,
outlineColor: Cesium.Color.BLACK,
outlineWidth: 2,
pixelOffset: new Cesium.Cartesian2(0, -50),
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
showBackground: true,
backgroundColor: new Cesium.Color(0.165, 0.165, 0.165, 0.8),
backgroundPadding: new Cesium.Cartesian2(10, 5),
}
});
viewer.zoomTo(entity);
修改已存在 Entity 的 Label 属性
const entity = viewer.entities.getById('myLabelEntity');
if (entity) {
entity.label.show = true;
entity.label.text = '新文本';
entity.label.font = 'bold 24px Microsoft YaHei';
entity.label.fillColor = Cesium.Color.fromCssColorString('#ff0000');
}
使用属性绑定 (Property Binding)
const entityWithDynamicLabel = viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
properties: {
name: '测量点A',
elevation: 285.6
},
label: {
text: new Cesium.CallbackProperty(function(time, result) {
return `${entityWithDynamicLabel.properties.name} (海拔: ${entityWithDynamicLabel.properties.elevation}米)`;
}, false),
font: '14px sans-serif',
pixelOffset: new Cesium.Cartesian2(0, 20)
}
});