影像图层集合类。该类主要用于对影像类图层进行管理
Members
-
向图层集合中添加了图层后触发该事件
-
Default Value:
Event()
-
图层集合中某图层发生移动后触发该事件
-
Default Value:
Event()
-
图层集合中某图层发生移除后触发该事件
-
Default Value:
Event()
-
图层可见性设置
ImageryLayer#show
发生改变时触发该事件-
Default Value:
Event()
-
获取图层集合中的图层数量
Methods
-
向图层集合添加一个图层
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:
新创建的图层 -
判断图层集合中是否包含指定图层
Name Type Description layer
ImageryLayer 待检查的图层 Returns:
集合中包含该图层返回true,否则返回false -
销毁此集合中所有图层拥有的WebGL资源。 显式销毁此对象允许确定性地释放WebGL资源,而不是依赖垃圾回收器。 一旦这个对象被破坏,就不应该使用; 调用除isDestroyed以外的任何函数都将导致DeveloperError异常。 因此,请将示例中的返回值(未定义)分配给对象。
Returns:
Throws:
-
DeveloperError : 该对象被销毁,即destroy()被调用
Example:
layerCollection = layerCollection && layerCollection.destroy();
See:
-
-
get(index) → ImageryLayer
-
获取图层集合中指定索引的影像图层对象
Name Type Description index
Number 索引值 Returns:
影像图层对象 -
获取指定图层在图层集合中的索引值
Name Type Description layer
ImageryLayer 指定的图层 Returns:
图层索引值,若不存在则返回-1 -
获取是否释放资源。 对象资源被释放后将不再可用,否则将提示DeveloperError
Returns:
已释放资源返回true,否则返回false -
将此图层集合中指定图层往下移动一层
Name Type Description layer
ImageryLayer 待移动的图层 Throws:
-
DeveloperError : 图层集合中不存在该图层
-
DeveloperError : 该对象被销毁,即destroy()被调用
-
-
将此图层集合中指定图层移动到最底层
Name Type Description layer
ImageryLayer 待移动的图层 Throws:
-
DeveloperError : 图层集合中不存在该图层
-
DeveloperError : 该对象被销毁,即destroy()被调用
-
-
异步确定与拾取光线相交的影像图层特征。 通过针对与拾取光线相交的每个图像层瓦片调用
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); } }); }
-
将此图层集合中指定图层往上移动一层
Name Type Description layer
ImageryLayer 待移动的图层 Throws:
-
DeveloperError : 图层集合中不存在该图层
-
DeveloperError : 该对象被销毁,即destroy()被调用
-
-
将此图层集合中指定图层移动到最顶层
Name Type Description layer
ImageryLayer 待移动的图层 Throws:
-
DeveloperError : 图层集合中不存在该图层
-
DeveloperError : 该对象被销毁,即destroy()被调用
-
-
从集合中删除图层(如果存在)
Name Type Default Description layer
ImageryLayer 要删除的图层 destroy
Boolean true
optional 是否除了删除之外还要是销毁它们 Returns:
如果图层位于集合中并被删除,则返回true;如果图层不在集合中,则返回false -
从此集合中删除图层(如果存在)
Name Type Default Description destroy
Boolean true
optional 是否除了删除它们之外,还要销毁它们