標(biāo)簽的可渲染集合。標(biāo)簽是定位在三維場景中的視區(qū)對(duì)齊文本。每個(gè)標(biāo)簽可以有不同的字體、顏色、比例等。

示例標(biāo)簽
使用
new LabelCollection(options)

示例標(biāo)簽
使用
LabelCollection#add
和LabelCollection#remove
從集合中添加和刪除標(biāo)簽。
Parameters:
options
(Object)
Name | Description |
---|---|
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
|
將每個(gè)標(biāo)簽從模型轉(zhuǎn)換為世界坐標(biāo)的4x4轉(zhuǎn)換矩陣。 |
options.debugShowBoundingVolume
Boolean
default false
|
僅用于調(diào)試。確定是否顯示此基元的命令的邊界球。 |
options.scene
Scene
|
必須傳遞給使用高度參考屬性的標(biāo)簽,否則將對(duì)球體進(jìn)行深度測試。 |
options.blendOption
BlendOption
default BlendOption.OPAQUE_AND_TRANSLUCENT
|
標(biāo)簽混合選項(xiàng)。默認(rèn)值用于渲染不透明和半透明標(biāo)簽。但是,如果所有標(biāo)簽都是完全不透明的或都是完全半透明的,則將該技術(shù)設(shè)置為blendoption.opaque或blendoption.transparent可將性能提高2倍。 |
Members
blendOption : BlendOption
標(biāo)簽混合選項(xiàng)。默認(rèn)值用于渲染不透明和半透明標(biāo)簽。但是,如果所有標(biāo)簽都是完全不透明的或都是完全半透明的,則將該技術(shù)設(shè)置為blendoption.opaque或blendoption.transparent可將性能提高2倍。
-
Default Value:
BlendOption.OPAQUE_AND_TRANSLUCENT
debugShowBoundingVolume : Boolean
此屬性僅用于調(diào)試;它既不用于生產(chǎn),也不進(jìn)行優(yōu)化。
為基本體中的每個(gè)draw命令繪制邊界球體。
-
Default Value:
false
length : Number
返回此集合中的標(biāo)簽數(shù)。這通常與
LabelCollection#get
一起用于迭代集合中的所有標(biāo)簽。
modelMatrix : Matrix4
將此集合中的每個(gè)標(biāo)簽從模型坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)的4x4轉(zhuǎn)換矩陣。當(dāng)這是單位矩陣時(shí),標(biāo)簽以世界坐標(biāo)繪制,即地球的wgs84坐標(biāo)。本地參考幀可以通過提供不同的轉(zhuǎn)換矩陣來使用,如
Transforms.eastNorthUpToFixedFrame
返回的轉(zhuǎn)換矩陣。
-
Default Value:
Matrix4.IDENTITY
Example:
var center = bmgl.Cartesian3.fromDegrees(-75.59777, 40.03883);
labels.modelMatrix = bmgl.Transforms.eastNorthUpToFixedFrame(center);
labels.add({
position : new bmgl.Cartesian3(0.0, 0.0, 0.0),
text : 'Center'
});
labels.add({
position : new bmgl.Cartesian3(1000000.0, 0.0, 0.0),
text : 'East'
});
labels.add({
position : new bmgl.Cartesian3(0.0, 1000000.0, 0.0),
text : 'North'
});
labels.add({
position : new bmgl.Cartesian3(0.0, 0.0, 1000000.0),
text : 'Up'
});
Methods
add(options) → {Label}
創(chuàng)建具有指定初始屬性的標(biāo)簽并將其添加到集合中。將返回添加的標(biāo)簽,以便以后可以修改或從集合中刪除它。
Parameters:
options
(Object)
描述標(biāo)簽屬性的模板,如示例1所示。
Examples
// Example 1: Add a label, specifying all the default values.
var l = labels.add({
show : true,
position : bmgl.Cartesian3.ZERO,
text : '',
font : '30px sans-serif',
fillColor : bmgl.Color.WHITE,
outlineColor : bmgl.Color.BLACK,
outlineWidth : 1.0,
showBackground : false,
backgroundColor : new bmgl.Color(0.165, 0.165, 0.165, 0.8),
backgroundPadding : new bmgl.Cartesian2(7, 5),
style : bmgl.LabelStyle.FILL,
pixelOffset : bmgl.Cartesian2.ZERO,
eyeOffset : bmgl.Cartesian3.ZERO,
horizontalOrigin : bmgl.HorizontalOrigin.LEFT,
verticalOrigin : bmgl.VerticalOrigin.BASELINE,
scale : 1.0,
translucencyByDistance : undefined,
pixelOffsetScaleByDistance : undefined,
heightReference : HeightReference.NONE,
distanceDisplayCondition : undefined
});
// Example 2: Specify only the label's cartographic position,
// text, and font.
var l = labels.add({
position : bmgl.Cartesian3.fromRadians(longitude, latitude, height),
text : 'Hello World',
font : '24px Helvetica',
});
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
檢查此集合是否包含給定標(biāo)簽。
Parameters:
See:
銷毀此對(duì)象持有的WebGL資源。銷毀對(duì)象允許確定地釋放WebGL資源,而不是依賴?yán)占鱽礓N毀此對(duì)象。
一旦對(duì)象被破壞,就不應(yīng)使用它;調(diào)用除
一旦對(duì)象被破壞,就不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)都將導(dǎo)致DeveloperError
異常。因此,將返回值(undefined
)賦給對(duì)象,如示例中所述。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
返回集合中指定索引處的標(biāo)簽。索引以零為基礎(chǔ),并隨著標(biāo)簽的添加而增加。刪除標(biāo)簽后,所有標(biāo)簽都會(huì)向左移動(dòng),從而更改其索引。此函數(shù)通常與
LabelCollection#length
一起使用,用于迭代集合中的所有標(biāo)簽。
Parameters:
index
(Number)
廣告牌的零基索引。
Example
// Toggle the show property of every label in the collection
var len = labels.length;
for (var i = 0; i < len; ++i) {
var l = billboards.get(i);
l.show = !l.show;
}
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
如果此對(duì)象被破壞,則返回true;否則返回false。
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
remove(label) → {Boolean}
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)將導(dǎo)致DeveloperError
異常。
從集合中刪除標(biāo)簽。一旦移除,標(biāo)簽就不再可用。
Parameters:
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
從集合中刪除所有標(biāo)簽。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。