Label

标签将绘制定位在三维场景中的视区对齐文本。不应直接使用此构造函数,而应通过调用LabelCollection#add来创建标签。
new Label()
Throws
  • DeveloperError : translucencybydistance.far必须大于translucencybydistance.near。
  • DeveloperError : pixeloffsetscaleByDistance.far必须大于pixeloffsetscaleByDistance.near。
  • DeveloperError : 距离displayCondition.far必须大于距离displayCondition.near
See:

Members

(static) enableRightToLeftDetection : Boolean

确定是否运行与标签文本从右向左语言匹配的算法
Default Value: false
Examples:
// Example 1.
// Set a label's rightToLeft before init
bmgl.Label.enableRightToLeftDetection = true;
var myLabelEntity = viewer.entities.add({
  label: {
    id: 'my label',
    text: 'זה טקסט בעברית \n ועכשיו יורדים שורה',
  }
});
// Example 2.
var myLabelEntity = viewer.entities.add({
  label: {
    id: 'my label',
    text: 'English text'
  }
});
// Set a label's rightToLeft after init
bmgl.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

获取或设置与要禁用深度测试的照相机之间的距离,例如,防止对地形进行剪切。当设置为零时,始终应用深度测试。当设置为数字正无穷大时,深度测试永远不会应用。

distanceDisplayCondition : DistanceDisplayCondition

获取或设置条件,该条件指定此标签将显示在距相机的距离处。
Default Value: undefined

eyeOffset : Cartesian3

获取和设置在眼坐标中应用于此标签的三维笛卡尔偏移量。眼睛坐标系是左手坐标系,其中x指向观看者的右侧,y指向上方,z指向屏幕。眼睛坐标使用与世界和模型坐标相同的比例,通常是米。

眼睛偏移通常用于在同一位置排列多个标签或对象,例如,在其对应的3D模型上方排列标签。

下面,标签位于地球中心,但眼睛偏移使其始终出现在地球顶部,无论观众或地球的方向如何。

l.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);

Default Value: Cartesian3.ZERO

fillColor : Color

获取或设置此标签的填充颜色。
Default Value: Color.WHITE
See:

font : String

获取或设置用于绘制此标签的字体。使用与CSS“字体”属性相同的语法指定字体。
Default Value: '30px sans-serif'
See:

heightReference : HeightReference

获取或设置此公告牌的高度引用。
Default Value: HeightReference.NONE

horizontalOrigin : HorizontalOrigin

获取或设置此标签的水平原点,该原点确定标签是绘制到其定位点位置的左侧、中心还是右侧。


Default Value: HorizontalOrigin.LEFT
Example:
// Use a top, right origin
l.horizontalOrigin = bmgl.HorizontalOrigin.RIGHT;
l.verticalOrigin = bmgl.VerticalOrigin.TOP;

id : *

获取或设置拾取标签时返回的用户定义值。

outlineColor : Color

获取或设置此标签的大纲颜色。
Default Value: Color.BLACK
See:

outlineWidth : Number

获取或设置此标签的轮廓宽度。
Default Value: 1.0
See:

pixelOffset : Cartesian2

获取或设置屏幕空间中距此标签原点的像素偏移量。这通常用于在同一位置对齐多个标签和广告牌,例如图像和文本。屏幕空间原点是画布的左上角;x从左到右增加,y从上到下增加。

default
l.pixeloffset = new Cartesian2(25, 75);
标签的原点用黄色点表示。
Default Value: Cartesian2.ZERO

pixelOffsetScaleByDistance : NearFarScalar

获取或设置基于标签与相机的距离的标签的近像素和远像素偏移缩放属性。标签的像素偏移量将在NearFarScalar#nearValueNearFarScalar#farValue之间缩放,而相机距离在指定NearFarScalar#nearNearFarScalar#far的上下限内。在这些范围之外,标签的像素偏移比例保持固定到最近的界限。如果未定义,将禁用PixeLoffSetscaleByDistance。
Examples:
// Example 1.
// Set a label's pixel offset scale to 0.0 when the
// camera is 1500 meters from the label and scale pixel offset to 10.0 pixels
// in the y direction the camera distance approaches 8.0e6 meters.
text.pixelOffset = new bmgl.Cartesian2(0.0, 1.0);
text.pixelOffsetScaleByDistance = new bmgl.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0);
// Example 2.
// disable pixel offset by distance
text.pixelOffsetScaleByDistance = undefined;

position : Cartesian3

获取或设置此标签的笛卡尔位置。

scale : Number

获取或设置与标签大小(以像素为单位)相乘的统一比例。 比例尺为1.0不会更改标签的大小; 大于1.0的比例会放大标签; 小于1.0的正比例会缩小标签。

应用较大的值可能会使标签像素化。 要使文本变大而没有像素化,请在调用Label#font时使用更大的字体。


在上图中从左到右,比例为0.51.02.0
Default Value: 1.0

scaleByDistance : NearFarScalar

根据标签与相机的距离获取或设置标签的近缩放和远缩放属性。标签的比例将在NearFarScalar#nearValueNearFarScalar#farValue之间插入,而相机距离在指定NearFarScalar#nearNearFarScalar#far的上下限内。在这些范围之外,标签的刻度将保持在最近的范围内。如果未定义,将禁用scaleByDistance。
Examples:
// Example 1.
// Set a label's scaleByDistance to scale by 1.5 when the
// camera is 1500 meters from the label and disappear as
// the camera distance approaches 8.0e6 meters.
label.scaleByDistance = new bmgl.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0);
// Example 2.
// disable scaling by distance
label.scaleByDistance = undefined;

show : Boolean

确定是否显示此标签。使用此选项可隐藏或显示标签,而不是将其删除并重新添加到集合中。
Default Value: true

showBackground : Boolean

确定是否显示此标签后面的背景。
Default Value: false

style : LabelStyle

获取或设置此标签的样式。
Default Value: LabelStyle.FILL

text : String

获取或设置此标签的文本。

totalScale : Number

获取标签的总比例,该比例是标签的比例乘以所需字体的计算相对大小(与生成的glyph大小相比)。
Default Value: 1.0

translucencyByDistance : NearFarScalar

根据标签与相机的距离获取或设置标签的近半透明属性和远半透明属性。标签的半透明将插入NearFarScalar#nearValueNearFarScalar#farValue之间,而相机距离在指定NearFarScalar#nearNearFarScalar#far的上下限内。在这些范围之外,标签的半透明性保持固定到最近的边界。如果未定义,半透明Y距离将被禁用。
Examples:
// Example 1.
// Set a label's translucencyByDistance to 1.0 when the
// camera is 1500 meters from the label and disappear as
// the camera distance approaches 8.0e6 meters.
text.translucencyByDistance = new bmgl.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
// Example 2.
// disable translucency by distance
text.translucencyByDistance = undefined;

verticalOrigin : VerticalOrigin

获取或设置此标签的垂直原点,该原点确定标签是位于其定位点位置的上方、下方还是中心。


Default Value: VerticalOrigin.BASELINE
Example:
// Use a top, right origin
l.horizontalOrigin = bmgl.HorizontalOrigin.RIGHT;
l.verticalOrigin = bmgl.VerticalOrigin.TOP;

Methods

computeScreenSpacePosition(scene, result) → {Cartesian2}
计算标签原点的屏幕空间位置,同时考虑眼睛和像素偏移。屏幕空间原点是画布的左上角;x从左到右增加,y从上到下增加。
Parameters:
scene (Scene) 标签所在的场景。
result (Cartesian2) 存储结果的对象。
Example
console.log(l.computeScreenSpacePosition(scene).toString());
See:
equals(other) → {Boolean}
确定此标签是否等于另一个标签。如果标签的所有属性都相同,则标签是相等的。不同集合中的标签可以相等。
Parameters:
other (Label) 用于比较是否相等的标签。
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。