new Cesium.Label()
标签是可绘制在3D场景中与视口对齐的文本。这个构造函数不应直接使用,而是通过调用
LabelCollection#add
创建标签。
异常情况:
-
DeveloperError : translucencyByDistance.far 必须大于 translucencyByDistance.near。
-
DeveloperError : pixelOffsetScaleByDistance.far 必须大于 pixelOffsetScaleByDistance.near。
-
DeveloperError : distanceDisplayCondition.far 必须大于 distanceDisplayCondition.near。
成员变量
确定是否运行将标签的文本与从右到左的语言匹配的算法。
-
Default Value:
false
示例:
// 例1
// 在初始化之前设置标签的rightToLeft
Cesium.Label.enableRightToLeftDetection = true;
var myLabelEntity = viewer.entities.add({
label: {
id: 'my label',
text: 'זה טקסט בעברית \n ועכשיו יורדים שורה',
}
});
// 例2
var myLabelEntity = viewer.entities.add({
label: {
id: 'my label',
text: 'English text'
}
});
// 在初始化之后设置标签的rightToLeft
Cesium.Label.enableRightToLeftDetection = true;
myLabelEntity.text = 'טקסט חדש';
backgroundColor : Color
获取或者设置标签的背景色。
-
Default Value:
new Color(0.165, 0.165, 0.165, 0.8)
backgroundPadding : Cartesian2
获取或设置此标签的背景填充(以像素为单位)。 x 值控制水平填充,而 y 值控制垂直填充。
-
Default Value:
new Cartesian2(7, 5)
disableDepthTestDistance : Number
获取或者设置进行深度测试的距离。
当为0时,总是进行深度测试;当为Number.POSITIVE_INFINITY时,总是不进行深度测试。
distanceDisplayCondition : DistanceDisplayCondition
设置或者获取标签的显示距离。
-
Default Value:
undefined
eyeOffset : Cartesian3
获取或设置在视点坐标中应用于此标签的3D笛卡尔偏移。
视点坐标是左手坐标系,其中 x 指向查看者的右侧, y 指向上方,并且 z 指向屏幕。视点坐标与世界坐标和模型坐标使用相同的比例,通常是米。
在下方,标签位于地球中心,但视点偏移使它始终无论观看者或地球的方向如何,它都会出现在地球的顶部。
在下方,标签位于地球中心,但视点偏移使它始终无论观看者或地球的方向如何,它都会出现在地球的顶部。
l.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);
-
Default Value:
Cartesian3.ZERO
fillColor : Color
设置或者获取标签的填充颜色。
-
Default Value:
Color.WHITE
参考:
font : String
获取或设置用于绘制此标签的字体。使用与CSS'font'属性相同的语法指定字体。
-
Default Value:
'30px sans-serif'
参考:
heightReference : HeightReference
获取或设置此广告牌的高度参考。
-
Default Value:
HeightReference.NONE
horizontalOrigin : HorizontalOrigin
获取或者设置标签的水平原点位置。(左侧,中心或者右侧)
-
Default Value:
HorizontalOrigin.LEFT
示例:
//原点在上面右侧
l.horizontalOrigin = Cesium.HorizontalOrigin.RIGHT;
l.verticalOrigin = Cesium.VerticalOrigin.TOP;
id : *
获取或设置在拾取标签时返回的用户定义对象。
outlineColor : Color
获取或者设置标签的边线颜色。
-
Default Value:
Color.BLACK
参考:
outlineWidth : Number
获取或者设置标签的边线宽度。
-
Default Value:
1.0
参考:
pixelOffset : Cartesian2
获取或设置屏幕空间中距此标签原点的像素偏移量。
屏幕空间原点是画布的左上角; x 从左到右增加, y 从上到下增加。
标签的原点由黄点表示。
default |
l.pixeloffset = new Cartesian2(25, 75); |
-
Default Value:
Cartesian2.ZERO
pixelOffsetScaleByDistance : NearFarScalar
根据标签与摄像头的距离,获取或设置标签的近像素像素缩放比例和远像素像素缩放比例属性。
当相机距离在
NearFarScalar#near
和 NearFarScalar#far
时,标签的像素缩放比例在 NearFarScalar#nearValue
和
NearFarScalar#farValue
之间。
在这些范围之外,标签的像素缩放比例保持在最近的范围内。如果此属性未定义pixelOffsetScaleByDistance将被禁用。
示例:
// 例1
// 当相机距离标签1500米时,将标签的像素偏移比例设置为0.0;当相机距离为8.0e6米,在y方向将相机距离设置为10.0像素。
text.pixelOffset = new Cesium.Cartesian2(0.0, 1.0);
text.pixelOffsetScaleByDistance = new Cesium.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0);
// 例2
// 禁用像素偏移的距离
text.pixelOffsetScaleByDistance = undefined;
position : Cartesian3
获取或设置此标签的笛卡尔位置。
scale : Number
获取或设置与标签的缩放系数。
应用大比例尺值可能会使标签像素化。要使文本变大而不产生像素化,请在调用
From left to right in the above image, the scales are
应用大比例尺值可能会使标签像素化。要使文本变大而不产生像素化,请在调用
Label#font
时使用更大的字体。
From left to right in the above image, the scales are
0.5
, 1.0
,
and 2.0
.
-
Default Value:
1.0
scaleByDistance : NearFarScalar
获取或设置基于标签到摄像机的距离的广告牌的远近缩放属性。
当相机距离在
NearFarScalar#near
和 NearFarScalar#far
时,标签的缩放比例在 NearFarScalar#nearValue
和
NearFarScalar#farValue
之间。
在这些范围之外,标签的比例保持在最近的范围内。如果此属性未定义scaleByDistance将被禁用。
示例:
// 例1
// 当相机距离标签1500米时,将标签的scaleByDistance设置为1.5,当相机距离接近8.0e6米时,将标签的scaleByDistance设置为1.5。
label.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0);
// 例2
// 禁用按距离缩放
label.scaleByDistance = undefined;
show : Boolean
是否显示标签。 使用它来隐藏或显示标签,而不是删除它并将其重新添加到集合中。
-
Default Value:
true
showBackground : Boolean
确定是否显示此标签后面的背景。
-
Default Value:
false
style : LabelStyle
获取或设置此标签的样式。
-
Default Value:
LabelStyle.FILL
text : String
获取或者设置标签的文本。
totalScale : Number
获取标签的总比例,即标签的比例乘以计算出的相对大小与生成的字形大小进行比较。
-
Default Value:
1.0
translucencyByDistance : NearFarScalar
获取或设置基于标签与摄像机的距离的标签的近、远半透明属性。
当相机距离在
NearFarScalar#near
和 NearFarScalar#far
时,标签的半透明系数在 NearFarScalar#nearValue
和
NearFarScalar#farValue
之间。
在这些范围之外,布告牌的半透明系数保持在最近的范围内。如果此属性未定义translucencyByDistance将被禁用。
示例:
// 例1
// 当相机距离标签1500米时,将标签的半透明距离设置为1.0,当相机距离接近8.0e6米时,将标签的半透明距离设置为1.0。
text.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
// 例2
// 通过距离禁用半透明
text.translucencyByDistance = undefined;
verticalOrigin : VerticalOrigin
获取或者设置标签的垂直原点位置。(上面,中心或者下面)
-
Default Value:
VerticalOrigin.BASELINE
示例:
// 原点在上面右侧
l.horizontalOrigin = Cesium.HorizontalOrigin.RIGHT;
l.verticalOrigin = Cesium.VerticalOrigin.TOP;
内置方法
考虑到视点和像素偏移,计算标签原点的屏幕空间位置。屏幕空间原点是画布的左上角; x 从从左到右, y 从上到下增加。
Name | Type | Description |
---|---|---|
scene |
Scene | 场景(Scene对象) |
result |
Cartesian2 | optional 存储结果的对象。 |
返回值:
标签的屏幕空间位置。
异常情况:
示例:
console.log(l.computeScreenSpacePosition(scene).toString());
参考:
确定这个标签是否等于另一个标签。如果标签的所有属性都相等,那么它们就是相等的。不同集合中的标签可以是相同的。
Name | Type | Description |
---|---|---|
other |
Label | 用来比较是否相等的标签。 |
返回值:
如果相等,返回true。
返回值:
false