ImageryLayerCollection

new LSGlobe.ImageryLayerCollection()

影像图层集合类。该类主要用于对影像类图层进行管理
Demo:

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,且小于图层总数量

addImageryProvider(imageryProvider, index)ImageryLayer

使用给定的ImageryProvider创建一个新图层,并将其添加到集合中
Name Type Description
imageryProvider ImageryProvider 图像提供者为其创建新图层
index Number optional 添加到图层的索引。如果省略,该图层将添加到所有现有图层的顶部
Returns:
新创建的图层

contains(layer)Boolean

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

destroy()undefined

销毁此集合中所有图层拥有的WebGL资源。 显式销毁此对象允许确定性地释放WebGL资源,而不是依赖垃圾回收器。 一旦这个对象被破坏,就不应该使用; 调用除isDestroyed以外的任何函数都将导致DeveloperError异常。 因此,请将示例中的返回值(未定义)分配给对象。
Returns:
Throws:
  • DeveloperError : 该对象被销毁,即destroy()被调用
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

获取是否释放资源。 对象资源被释放后将不再可用,否则将提示DeveloperError
Returns:
已释放资源返回true,否则返回false
See:

lower(layer)

将此图层集合中指定图层往下移动一层
Name Type Description
layer ImageryLayer 待移动的图层
Throws:
  • DeveloperError : 图层集合中不存在该图层
  • DeveloperError : 该对象被销毁,即destroy()被调用

lowerToBottom(layer)

将此图层集合中指定图层移动到最底层
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:
承诺解决了拾取光线相交的一系列特征。 如果可以快速确定没有特征相交 (例如,因为没有活动图像提供程序支持ImageryProvider#pickFeatures或拾取光线不与表面相交),则此函数将返回undefined。
Example:
var pickRay = viewer.camera.getPickRay(windowPosition);
var featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
if (!LSGlobe.defined(featuresPromise)) {
    console.log('No features picked.');
} else {
    LSGlobe.when(featuresPromise, function(features) {
        // 当列表如果选取的功能可用时,此功能将异步调用
        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:
  • DeveloperError : 图层集合中不存在该图层
  • DeveloperError : 该对象被销毁,即destroy()被调用

raiseToTop(layer)

将此图层集合中指定图层移动到最顶层
Name Type Description
layer ImageryLayer 待移动的图层
Throws:
  • DeveloperError : 图层集合中不存在该图层
  • DeveloperError : 该对象被销毁,即destroy()被调用

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 是否除了删除它们之外,还要销毁它们