ImageryLayerCollection

new Cesium.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)

向图层集合添加一个图层。
Name Type Description
layer ImageryLayer 待添加的图层。
index Number optional 待添加图层的索引。
Throws:
  • DeveloperError : 索引值应大于等于0,且小于图层总数量。

addGridProvider(gridProvider, index)GridLayer

添加Grid切片服务提供者。
Name Type Description
gridProvider String 通过给定的栅格图层提供者新建图层,将其添加至图层集合中。
index Number optional 待添加图层的索引(如果忽略,则新增的图层将位于所有已存在的图层之上)。
Returns:
新增加的图层。

addImageryProvider(imageryProvider, index)ImageryLayer

通过给定的影像服务提供者新建图层,将其添加至图层集合中。
Name Type Description
imageryProvider ImageryProvider 指定的影像服务提供者。
index Number optional 待添加图层的索引。
Returns:
新创建的影像图层。
Example:
var imageryLayers = viewer.imageryLayers;
var labelImagery = new Cesium.WebMapTileServiceImageryProvider({
		url : 'http://[subdomain].tianditu.com/cia_w/wmts',
		layer : 'cia',
		style : 'default',
		format : 'tiles',
		tileMatrixSetID : 'w',
		credit : new Cesium.Credit('天地图全球影像中文注记服务'),
		subdomains : ['t0','t1','t2','t3','t4','t5','t6','t7']
	    });
        imageryLayers.addImageryProvider(labelImagery);.

contains(layer)Boolean

判断图层集合中是否包含指定图层。
Name Type Description
layer ImageryLayer 待检查的图层。
Returns:
集合中包含该图层返回true,否则返回false。

destroy()undefined

释放集合中所有图层占用的WebGL资源。一旦释放对象所占用的资源,该对象将不能被使用,调用任何isDestroyed外的命令将抛出DeveloperError异常。因此,如示例所示,对象分配未定义的返回值。
Returns:
返回undefined。
Throws:
Example:
layerCollection = layerCollection && layerCollection.destroy();
See:

get(index)ImageryLayer

获取图层集合中指定索引的影像图层对象。
Name Type Description
index Number 索引值。
Returns:
影像图层对象。

indexOf(layer)Number

获取指定图层在图层集合中的索引值。
Name Type Description
layer ImageryLayer 指定的图层。
Returns:
图层索引值,若不存在则返回-1。

isDestroyed()Boolean

如果对象被释放,返回真,否则返回false。一旦释放对象所占用的资源,该对象将不能被使用,调用任何isDestroyed外的命令将抛出DeveloperError异常。
Returns:
如果对象被释放,返回真,否则返回false。
See:

lower(layer)

将此图层集合中指定图层往下移动一层。
Name Type Description
layer ImageryLayer 待移动的图层。
Throws:

lowerToBottom(layer)

将此图层集合中指定图层移动到最底层。
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。如果能够快速确定没有相交的特征(例如,没有激活的图层支持ImageryProvider#pickFeatures,或拾取光标与图层不相交),则函数返回未定义。
Example:
var pickRay = viewer.camera.getPickRay(windowPosition);
var featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
if (!Cesium.defined(featuresPromise)) {
    console.log('No features picked.');
} else {
    Cesium.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)

将此图层集合中指定图层往上移动一层。
Name Type Description
layer ImageryLayer 待移动的图层。
Throws:

raiseToTop(layer)

将此图层集合中指定图层移动到最顶层。
Name Type Description
layer ImageryLayer 待移动的图层。
Throws:

remove(layer, destroy)Boolean

移除集合中的一个图层。
Name Type Default Description
layer ImageryLayer 待移除的图层。
destroy Boolean true optional 移除时是否释放资源。
Returns:
移除成功返回true,否则返回false。

removeAll(destroy)

移除图层集合中的所有图层。
Name Type Default Description
destroy Boolean true optional 移除时是否释放资源。