Members
layerAdded : Event
将图层添加到集合时引发的事件。事件处理程序被传递给添加的层和添加它的索引。
-
Default Value:
Event()
layerMoved : Event
当图层在集合中更改位置时引发的事件。事件处理程序会传递被移动的层、移动后的新索引以及移动前的旧索引。
-
Default Value:
Event()
layerRemoved : Event
从集合中删除图层时引发的事件。事件处理程序被传递给被移除的层和被移除的索引。
-
Default Value:
Event()
layerShownOrHidden : Event
通过设置
ImageryLayer#show
属性显示或隐藏图层时引发的事件。事件处理程序被传递一个对该层的引用、该层在集合中的索引,以及一个标志,如果该层现在显示则为 true,如果现在隐藏则为 false。
-
Default Value:
Event()
获取此集合中的层数。
Methods
向集合中添加一个图层。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要添加的图层。 |
index
|
Number | 可选 的添加图层的索引。如果省略,该层将添加到所有现有层之上。 |
Throws:
-
DeveloperError :索引(如果提供)必须大于或等于零且小于或等于层数。
addImageryProvider (imageryProvider, index ) → ImageryLayer
使用给定的 ImageryProvider 创建一个新层并将其添加到集合中。
Name | Type | Description |
---|---|---|
imageryProvider
|
ImageryProvider | 要为其创建新图层的图像提供程序。 |
index
|
Number | 可选 的添加图层的索引。如果省略,该层将添加到所有现有层之上。 |
Returns:
新创建的图层。
检查集合是否包含给定层。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要检查的层。 |
Returns:
如果集合包含图层,则为 true,否则为 false。
销毁此集合中所有层持有的 WebGL 资源。显式销毁此对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器。
一旦这个对象被销毁,就不应该使用它;调用
一旦这个对象被销毁,就不应该使用它;调用
isDestroyed
以外的任何函数都将导致
DeveloperError
异常。因此,如示例中所做的那样,将返回值 (
undefined
) 分配给对象。
Throws:
-
DeveloperError : 该对象被销毁,即调用了destroy()。
Example:
layerCollection = layerCollection && layerCollection.destroy();
See:
get (index) → ImageryLayer
从集合中按索引获取图层。
Name | Type | Description |
---|---|---|
index
|
Number | 要检索的索引。 |
Returns:
给定索引处的影像图层。
确定集合中给定层的索引。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要查找其索引的图层。 |
Returns:
集合中图层的索引,如果集合中不存在图层,则为 -1。
Returns:
如果此对象被销毁,则为 true;否则为假。
将图层降低到集合中的一个位置。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要移动的图层。 |
Throws:
-
DeveloperError :图层不在此集合中。
-
DeveloperError : 该对象被销毁,即调用了destroy()。
将图层降低到集合的底部。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要移动的图层。 |
Throws:
-
DeveloperError :图层不在此集合中。
-
DeveloperError : 该对象被销毁,即调用了destroy()。
pickImageryLayerFeatures (ray, scene) → Promise.<Array.< ImageryLayerFeatureInfo >>|undefined
异步确定与拾取射线相交的影像图层要素。通过调用
ImageryProvider#pickFeatures
来查找与拾取射线相交的每个影像图层切片,从而找到相交的影像图层要素。要从屏幕上的某个位置计算拾取射线,请使用
Camera.getPickRay
。
Name | Type | Description |
---|---|---|
ray
|
Ray | 要测试相交的射线。 |
scene
|
Scene | 现场。 |
Returns:
一个promise,它解析为与pick ray相交的一系列特征。如果可以快速确定没有要素相交(例如,因为没有活动的图像提供者支持
ImageryProvider#pickFeatures
或因为拾取射线不与表面相交),则此函数将返回 undefined。
Example:
const pickRay = viewer.camera.getPickRay(windowPosition);
const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
if (!Cesium.defined(featuresPromise)) {
console.log('No features picked.');
} else {
Promise.resolve(featuresPromise).then(function(features) {
// This function is called asynchronously when the list if picked features is available.
console.log(`Number of features: ${features.length}`);
if (features.length > 0) {
console.log(`First feature name: ${features[0].name}`);
}
});
}
pickImageryLayers (ray, scene) → Array.< ImageryLayer >|undefined
确定与拾取射线相交的影像图层。要从屏幕上的某个位置计算拾取射线,请使用
Camera.getPickRay
。
Name | Type | Description |
---|---|---|
ray
|
Ray | 要测试相交的射线。 |
scene
|
Scene | 现场。 |
Returns:
包含与给定拾取射线相交的所有层的数组。如果未选择任何图层,则未定义。
在集合中将图层向上提升一个位置。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要移动的图层。 |
Throws:
-
DeveloperError :图层不在此集合中。
-
DeveloperError : 该对象被销毁,即调用了destroy()。
将图层提升到集合的顶部。
Name | Type | Description |
---|---|---|
layer
|
ImageryLayer | 要移动的图层。 |
Throws:
-
DeveloperError :图层不在此集合中。
-
DeveloperError : 该对象被销毁,即调用了destroy()。
从此集合中删除层(如果存在)。
Name | Type | Default | Description |
---|---|---|---|
layer
|
ImageryLayer | 要删除的层。 | |
destroy
|
Boolean |
true
|
可选 是否除了删除图层之外还销毁图层。 |
Returns:
如果图层在集合中并被移除,则为 true;如果图层不在集合中,则为 false。
从此集合中删除所有图层。
Name | Type | Default | Description |
---|---|---|---|
destroy
|
Boolean |
true
|
可选 是否除了删除图层之外还销毁图层。 |