ImageryLayerCollection
优质
小牛编辑
137浏览
2023-12-01
new LSGlobe.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
要添加的图层 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
待检查的图层 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
指定的图层 Returns:
图层索引值,若不存在则返回-1
isDestroyed() → Boolean
- 获取是否释放资源。 对象资源被释放后将不再可用,否则将提示DeveloperError
Returns:
已释放资源返回true,否则返回false
lower(layer)
- 将此图层集合中指定图层往下移动一层
Name Type Description layer
待移动的图层 Throws:
DeveloperError
: 图层集合中不存在该图层DeveloperError
: 该对象被销毁,即destroy()被调用
lowerToBottom(layer)
- 将此图层集合中指定图层移动到最底层
Name Type Description layer
待移动的图层 Throws:
DeveloperError
: 图层集合中不存在该图层DeveloperError
: 该对象被销毁,即destroy()被调用
pickImageryLayerFeatures(ray, scene) → Promise.<Array.<ImageryLayerFeatureInfo>>|undefined
- 异步确定与拾取光线相交的影像图层特征。 通过针对与拾取光线相交的每个图像层瓦片调用
ImageryProvider#pickFeatures
来找到相交的图像层特征。 用Camera.getPickRay
从屏幕上的位置计算拾取光线Name Type Description ray
Ray
测试交叉点的射线 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
待移动的图层 Throws:
DeveloperError
: 图层集合中不存在该图层DeveloperError
: 该对象被销毁,即destroy()被调用
raiseToTop(layer)
- 将此图层集合中指定图层移动到最顶层
Name Type Description layer
待移动的图层 Throws:
DeveloperError
: 图层集合中不存在该图层DeveloperError
: 该对象被销毁,即destroy()被调用
remove(layer, destroy) → Boolean
- 从集合中删除图层(如果存在)
Name Type Default Description layer
要删除的图层 destroy
Boolean
true
optional
是否除了删除之外还要是销毁它们Returns:
如果图层位于集合中并被删除,则返回true;如果图层不在集合中,则返回false
removeAll(destroy)
- 从此集合中删除图层(如果存在)
Name Type Default Description destroy
Boolean
true
optional
是否除了删除它们之外,还要销毁它们