ImageryLayerCollection

优质
小牛编辑
122浏览
2023-12-01

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)

向图层集合添加一个图层

NameTypeDescription
layer

ImageryLayer

要添加的图层
index

Number

optional
待添加到图层的索引。如果省略,该图层将添加到所有现有图层的顶部
Throws:
  • DeveloperError
    : 索引值应大于等于0,且小于图层总数量

addImageryProvider(imageryProvider, index) → ImageryLayer

使用给定的ImageryProvider创建一个新图层,并将其添加到集合中

NameTypeDescription
imageryProvider

ImageryProvider

图像提供者为其创建新图层
index

Number

optional
添加到图层的索引。如果省略,该图层将添加到所有现有图层的顶部
Returns:

新创建的图层

contains(layer) → Boolean

判断图层集合中是否包含指定图层

NameTypeDescription
layer

ImageryLayer

待检查的图层
Returns:

集合中包含该图层返回true,否则返回false

destroy() → undefined

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

Returns:
Throws:
  • DeveloperError
    : 该对象被销毁,即destroy()被调用

Example:
layerCollection = layerCollection && layerCollection.destroy();
See:

get(index) → ImageryLayer

获取图层集合中指定索引的影像图层对象

NameTypeDescription
index

Number

索引值
Returns:

影像图层对象

indexOf(layer) → Number

获取指定图层在图层集合中的索引值

NameTypeDescription
layer

ImageryLayer

指定的图层
Returns:

图层索引值,若不存在则返回-1

isDestroyed() → Boolean

获取是否释放资源。 对象资源被释放后将不再可用,否则将提示DeveloperError

Returns:

已释放资源返回true,否则返回false

See:

lower(layer)

将此图层集合中指定图层往下移动一层

NameTypeDescription
layer

ImageryLayer

待移动的图层
Throws:
  • DeveloperError
    : 图层集合中不存在该图层

  • DeveloperError
    : 该对象被销毁,即destroy()被调用

lowerToBottom(layer)

将此图层集合中指定图层移动到最底层

NameTypeDescription
layer

ImageryLayer

待移动的图层
Throws:
  • DeveloperError
    : 图层集合中不存在该图层

  • DeveloperError
    : 该对象被销毁,即destroy()被调用

pickImageryLayerFeatures(ray, scene) → Promise.<Array.<ImageryLayerFeatureInfo>>|undefined

异步确定与拾取光线相交的影像图层特征。 通过针对与拾取光线相交的每个图像层瓦片调用ImageryProvider#pickFeatures 来找到相交的图像层特征。 用Camera.getPickRay从屏幕上的位置计算拾取光线

NameTypeDescription
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)

将此图层集合中指定图层往上移动一层

NameTypeDescription
layer

ImageryLayer

待移动的图层
Throws:
  • DeveloperError
    : 图层集合中不存在该图层

  • DeveloperError
    : 该对象被销毁,即destroy()被调用

raiseToTop(layer)

将此图层集合中指定图层移动到最顶层

NameTypeDescription
layer

ImageryLayer

待移动的图层
Throws:
  • DeveloperError
    : 图层集合中不存在该图层

  • DeveloperError
    : 该对象被销毁,即destroy()被调用

remove(layer, destroy) → Boolean

从集合中删除图层(如果存在)

NameTypeDefaultDescription
layer

ImageryLayer

要删除的图层
destroy

Boolean

true

optional
是否除了删除之外还要是销毁它们
Returns:

如果图层位于集合中并被删除,则返回true;如果图层不在集合中,则返回false

removeAll(destroy)

从此集合中删除图层(如果存在)

NameTypeDefaultDescription
destroy

Boolean

true

optional
是否除了删除它们之外,还要销毁它们