ImageryLayerCollection

Members

将图层添加到集合时引发的事件。事件处理程序被传递给添加的层和添加它的索引。
Default Value: Event()
当图层在集合中更改位置时引发的事件。事件处理程序会传递被移动的层、移动后的新索引以及移动前的旧索引。
Default Value: Event()
从集合中删除图层时引发的事件。事件处理程序被传递给被移除的层和被移除的索引。
Default Value: 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:
新创建的图层。

contains (layer) Boolean

检查集合是否包含给定层。
Name Type Description
layer ImageryLayer 要检查的层。
Returns:
如果集合包含图层,则为 true,否则为 false。
销毁此集合中所有层持有的 WebGL 资源。显式销毁此对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器。

一旦这个对象被销毁,就不应该使用它;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。因此,如示例中所做的那样,将返回值 ( undefined ) 分配给对象。
Throws:
Example:
layerCollection = layerCollection && layerCollection.destroy();
See:
从集合中按索引获取图层。
Name Type Description
index Number 要检索的索引。
Returns:
给定索引处的影像图层。

indexOf (layer) Number

确定集合中给定层的索引。
Name Type Description
layer ImageryLayer 要查找其索引的图层。
Returns:
集合中图层的索引,如果集合中不存在图层,则为 -1。

isDestroyed () Boolean

如果此对象被销毁,则返回 true;否则为假。

如果该对象被销毁,则不应使用;调用 isDestroyed 以外的任何函数都会导致 DeveloperError 异常。
Returns:
如果此对象被销毁,则为 true;否则为假。
See:
将图层降低到集合中的一个位置。
Name Type Description
layer ImageryLayer 要移动的图层。
Throws:
将图层降低到集合的底部。
Name Type Description
layer ImageryLayer 要移动的图层。
Throws:

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:
将图层提升到集合的顶部。
Name Type Description
layer ImageryLayer 要移动的图层。
Throws:

remove (layer, destroy ) Boolean

从此集合中删除层(如果存在)。
Name Type Default Description
layer ImageryLayer 要删除的层。
destroy Boolean true 可选 是否除了删除图层之外还销毁图层。
Returns:
如果图层在集合中并被移除,则为 true;如果图层不在集合中,则为 false。
从此集合中删除所有图层。
Name Type Default Description
destroy Boolean true 可选 是否除了删除图层之外还销毁图层。