ImageryLayerCollection

有序的图像层集合。
new ImageryLayerCollection()

Members

layerAdded : Event

将层添加到集合时引发的事件。事件处理程序将传递给添加的层和添加该层的索引。
Default Value: Event()

layerMoved : Event

层更改集合中的位置时引发的事件。事件处理程序将传递给已移动的层、移动后的新索引以及移动前的旧索引。
Default Value: Event()

layerRemoved : Event

从集合中移除层时引发的事件。事件处理程序将传递给已删除的层和从中删除该层的索引。
Default Value: Event()

layerShownOrHidden : Event

通过设置ImageryLayer#show属性显示或隐藏层时引发的事件。事件处理程序将传递一个对此层的引用、集合中层的索引,以及一个标志,如果层现在显示,则为真;如果层现在隐藏,则为假。
Default Value: Event()

length : Number

获取此集合中的层数。

Methods

add(layer, index)
向集合中添加层。
Parameters:
layer (ImageryLayer) 要添加的层。
index (Number) 添加层的索引。如果省略,该层将添加到所有现有层的顶部。
Throws
  • DeveloperError : 索引(如果提供)必须大于或等于零且小于或等于层数。
addImageryProvider(imageryProvider, index) → {ImageryLayer}
使用给定的ImageryProvider创建新层并将其添加到集合中。
Parameters:
imageryProvider (ImageryProvider) 要为其创建新层的图像提供商。
index (Number) 添加层的索引。如果省略,该层将添加到所有现有层的顶部。
contains(layer) → {Boolean}
检查集合是否包含给定层。
Parameters:
layer (ImageryLayer) 要检查的层。
destroy()
销毁此集合中所有层持有的WebGL资源。显式销毁此对象允许确定地释放WebGL资源,而不是依赖垃圾收集器。

此对象销毁后,不应使用它;调用除isDestroyed以外的任何函数都将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例中所述。
Example
layerCollection = layerCollection && layerCollection.destroy();
Throws
See:
get(index) → {ImageryLayer}
从集合中按索引获取层。
Parameters:
index (Number) 要检索的索引。
indexOf(layer) → {Number}
确定集合中给定层的索引。
Parameters:
layer (ImageryLayer) 要查找的索引的层。
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。
See:
lower(layer)
在集合中将层降低一个位置。
Parameters:
layer (ImageryLayer) 要移动的层。
Throws
lowerToBottom(layer)
将层降低到集合的底部。
Parameters:
layer (ImageryLayer) 要移动的层。
Throws
pickImageryLayerFeatures(ray, scene) → {Promise.<Array.<ImageryLayerFeatureInfo>>|undefined}
异步确定与拾取光线相交的图像层特征。通过调用ImageryProvider#pickFeatures为每个图像层(与拾取光线相交)的瓦片,可以找到相交的图像层特征。要从屏幕上的某个位置计算拾取光线,请使用Camera.getPickRay
Parameters:
ray (Ray) 要测试交叉点的光线。
scene (Scene) 现场。
Example
var pickRay = viewer.camera.getPickRay(windowPosition);
var featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
if (!bmgl.defined(featuresPromise)) {
    console.log('No features picked.');
} else {
    bmgl.when(featuresPromise, 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);
        }
    });
}
raise(layer)
在集合中向上提升一个层。
Parameters:
layer (ImageryLayer) 要移动的层。
Throws
raiseToTop(layer)
将层提升到集合的顶部。
Parameters:
layer (ImageryLayer) 要移动的层。
Throws
remove(layer, destroy) → {Boolean}
删除此集合中的层(如果存在)。
Parameters:
layer (ImageryLayer) 要删除的层。
destroy (Boolean) (default true) 是否在移除层的同时销毁层。
removeAll(destroy)
删除此集合中的所有层。
Parameters:
destroy (Boolean) (default true) 是否在移除层的同时销毁层。