用于在
Globe 或 Cesium3DTileset 上显示来自单个影像提供器的分块影像数据的影像图层。
| Name | Type | Description |
|---|---|---|
imageryProvider |
ImageryProvider | optional 要使用的影像提供器。 |
options |
ImageryLayer.ConstructorOptions | optional 描述初始化选项的对象 |
ImageryLayer.fromProviderAsyncfor creating an imagery layer from an asynchronous imagery provider.ImageryLayer.fromWorldImageryfor creating an imagery layer for Cesium ion's default global base imagery layer.Scene#imageryLayersfor adding an imagery layer to the globe.Cesium3DTileset#imageryLayersfor adding an imagery layer to a 3D tileset.
Examples:
// Add an OpenStreetMaps layer
const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
url: "https://tile.openstreetmap.org/"
}));
scene.imageryLayers.add(imageryLayer);
// Add Cesium ion's default world imagery layer
const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
scene.imageryLayers.add(imageryLayer);
// Add a new transparent layer from Cesium ion
const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
imageryLayer.alpha = 0.5;
scene.imageryLayers.add(imageryLayer);
// Drape Bing Maps Aerial imagery over a 3D tileset
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json"
);
scene.primitives.add(tileset);
const imageryProvider = await Cesium.createWorldImageryAsync({
style: Cesium.IonWorldImageryStyle.AERIAL,
});
const imageryLayer = new ImageryLayer(imageryProvider);
tileset.imageryLayers.add(imageryLayer);
See:
Members
如果在构造时或影像提供器未提供该值,则此值用作 color-to-alpha 的默认阈值。
-
Default Value:
0.004
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认亮度。此值不会修改影像的亮度。
-
Default Value:
1.0
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认对比度。此值不会修改影像的对比度。
-
Default Value:
1.0
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认 gamma 值。此值不会修改影像的 gamma 值。
-
Default Value:
1.0
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认色调。此值不会修改影像的色调。
-
Default Value:
0.0
static Cesium.ImageryLayer.DEFAULT_MAGNIFICATION_FILTER : TextureMagnificationFilter
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认纹理放大过滤器。
-
Default Value:
TextureMagnificationFilter.LINEAR
static Cesium.ImageryLayer.DEFAULT_MINIFICATION_FILTER : TextureMinificationFilter
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认纹理缩小过滤器。
-
Default Value:
TextureMinificationFilter.LINEAR
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认饱和度。此值不会修改影像的饱和度。
-
Default Value:
1.0
static Cesium.ImageryLayer.DEFAULT_SPLIT : SplitDirection
如果在构造时或影像提供器未提供该值,则此值用作影像图层的默认分割值。
-
Default Value:
SplitDirection.NONE
此图层的 alpha 混合值,0.0 表示完全透明,1.0 表示完全不透明。
-
Default Value:
1.0
此图层的亮度。1.0 使用未经修改的影像颜色。小于 1.0 会使影像变暗,大于 1.0 会使影像变亮。
-
Default Value:
ImageryLayer.DEFAULT_BRIGHTNESS
colorToAlpha : Color
应设置为透明的颜色值。
用于 color-to-alpha 的归一化(0–1)阈值。
此图层的对比度。1.0 使用未经修改的影像颜色。小于 1.0 会降低对比度,大于 1.0 会提高对比度。
-
Default Value:
ImageryLayer.DEFAULT_CONTRAST
cutoutRectangle : Rectangle
此影像图层中的矩形挖空区域。
此图层在地球昼面一侧的 alpha 混合值,0.0 表示完全透明,1.0 表示完全不透明。仅当
Globe#enableLighting 为 true 时生效。
-
Default Value:
1.0
readonly errorEvent : Event.<ImageryLayer.ErrorEventCallback>
获取当影像提供器遇到异步错误时引发的事件。通过订阅该事件,你会收到错误通知并有可能从中恢复。事件监听器会接收到一个被抛出错误的实例。
应用于此图层的 gamma 校正值。1.0 使用未经修改的影像颜色。
-
Default Value:
ImageryLayer.DEFAULT_GAMMA
此图层以弧度表示的色调。0.0 使用未经修改的影像颜色。
-
Default Value:
ImageryLayer.DEFAULT_HUE
readonly imageryProvider : ImageryProvider
获取此图层的影像提供器。在
ImageryLayer#ready 返回 true 之前不应调用此方法。
magnificationFilter : TextureMagnificationFilter
应用于此图层的
TextureMagnificationFilter。
可能的值为 TextureMagnificationFilter.LINEAR(默认值)
和 TextureMagnificationFilter.NEAREST。
要使此属性生效,必须在添加影像图层后立即设置。一旦纹理被加载,就无法再更改所使用的纹理过滤器。
-
Default Value:
ImageryLayer.DEFAULT_MAGNIFICATION_FILTER
minificationFilter : TextureMinificationFilter
应用于此图层的
TextureMinificationFilter。
可能的值为 TextureMinificationFilter.LINEAR(默认值)
和 TextureMinificationFilter.NEAREST。
要使此属性生效,必须在添加影像图层后立即设置。一旦纹理被加载,就无法再更改所使用的纹理过滤器。
-
Default Value:
ImageryLayer.DEFAULT_MINIFICATION_FILTER
此图层在地球夜面一侧的 alpha 混合值,0.0 表示完全透明,1.0 表示完全不透明。仅当
Globe#enableLighting 为 true 时生效。
-
Default Value:
1.0
当地形提供器已成功创建时返回 true,否则返回 false。
readonly readyEvent : Event.<ImageryLayer.ReadyEventCallback>
获取当影像提供器已成功创建时引发的事件。事件监听器会接收到所创建的
ImageryProvider 实例。
readonly rectangle : Rectangle
获取此图层的矩形范围。如果此矩形小于
ImageryProvider 的矩形范围,则只会显示影像提供器的一部分。
此图层的饱和度。1.0 使用未经修改的影像颜色。小于 1.0 会降低饱和度,大于 1.0 会提高饱和度。
-
Default Value:
ImageryLayer.DEFAULT_SATURATION
确定此图层是否显示。
-
Default Value:
true
splitDirection : SplitDirection
应用于此图层的
SplitDirection。
-
Default Value:
ImageryLayer.DEFAULT_SPLIT
Methods
static Cesium.ImageryLayer.fromProviderAsync(imageryProviderPromise, options) → ImageryLayer
从一个异步影像提供器创建一个新的影像图层。该图层会处理任何异步加载或错误,并在准备就绪后开始渲染影像图层。
| Name | Type | Description |
|---|---|---|
imageryProviderPromise |
Promise.<ImageryProvider> | 一个解析为影像提供器的 promise |
options |
ImageryLayer.ConstructorOptions | optional 描述初始化选项的对象 |
Returns:
所创建的影像图层。
Examples:
// Create a new base layer
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
});
// Add a new transparent layer
const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
imageryLayer.alpha = 0.5;
viewer.imageryLayers.add(imageryLayer);
// Handle loading events
const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
viewer.imageryLayers.add(imageryLayer);
imageryLayer.readyEvent.addEventListener(provider => {
imageryLayer.imageryProvider.errorEvent.addEventListener(error => {
alert(`Encountered an error while loading imagery tiles! ${error}`);
});
});
imageryLayer.errorEvent.addEventListener(error => {
alert(`Encountered an error while creating an imagery layer! ${error}`);
});
See:
static Cesium.ImageryLayer.fromWorldImagery(options) → ImageryLayer
为 ion 当前的默认全球基础影像图层(目前为 Bing Maps)创建一个新的影像图层。该图层会处理任何异步加载或错误,并在准备就绪后开始渲染影像图层。
| Name | Type | Description |
|---|---|---|
options |
ImageryLayer.WorldImageryConstructorOptions | 描述初始化选项的对象 |
Returns:
所创建的影像图层。
* @example
// Create a new base layer
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayer: Cesium.ImageryLayer.fromWorldImagery();
});
Examples:
// Add a new transparent layer
const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
imageryLayer.alpha = 0.5;
viewer.imageryLayers.add(imageryLayer);
// Handle loading events
const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
viewer.imageryLayers.add(imageryLayer);
imageryLayer.readyEvent.addEventListener(provider => {
imageryLayer.imageryProvider.errorEvent.addEventListener(error => {
alert(`Encountered an error while loading imagery tiles! ${error}`);
});
});
imageryLayer.errorEvent.addEventListener(error => {
alert(`Encountered an error while creating an imagery layer! ${error}`);
});
See:
销毁此对象所持有的 WebGL 资源。销毁一个对象可以实现 WebGL 资源的确定性释放,而非依赖垃圾回收器来销毁该对象。
一旦对象被销毁,就不应再使用它;调用除
一旦对象被销毁,就不应再使用它;调用除
isDestroyed 之外的任何函数都将导致 DeveloperError 异常。因此,请像示例中那样将返回值(undefined)赋给该对象。
Throws:
-
DeveloperError :该对象已被销毁,即已调用 destroy()。
Example:
imageryLayer = imageryLayer && imageryLayer.destroy();
See:
getImageryRectangle() → Rectangle
计算此图层矩形与影像提供器可用性矩形的交集,得到此图层可生成的影像的总体边界。
Returns:
定义此图层可生成影像的总体边界的矩形。
Example:
// Zoom to an imagery layer.
const imageryRectangle = imageryLayer.getImageryRectangle();
scene.camera.flyTo({
destination: rectangle
});
获取一个指示此图层是否为
ImageryLayerCollection 中基础图层的值。基础图层是位于所有其他图层之下的图层。它的特殊之处在于:即使它实际上并非全局矩形,也会通过将边缘处的纹理像素拉伸覆盖整个地球,而被当作具有全局矩形来处理。
Returns:
如果这是基础图层则为 true;否则为 false。
Returns:
如果此对象已被销毁则为 true;否则为 false。
See:
Type Definitions
ImageryLayer 构造函数的初始化选项。
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
rectangle |
Rectangle |
<optional> |
imageryProvider.rectangle | 图层的矩形范围。该矩形可以限制影像提供器的可见部分。 |
alpha |
number | function |
<optional> |
1.0 | 此图层的 alpha 混合值,范围从 0.0 到 1.0。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要 alpha 值的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的 alpha 值。 |
nightAlpha |
number | function |
<optional> |
1.0 | 此图层在地球夜面一侧的 alpha 混合值,范围从 0.0 到 1.0。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要 alpha 值的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的 alpha 值。仅当 enableLighting 为 true 时生效。 |
dayAlpha |
number | function |
<optional> |
1.0 | 此图层在地球昼面一侧的 alpha 混合值,范围从 0.0 到 1.0。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要 alpha 值的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的 alpha 值。仅当 enableLighting 为 true 时生效。 |
brightness |
number | function |
<optional> |
1.0 | 此图层的亮度。1.0 使用未经修改的影像颜色。小于 1.0 会使影像变暗,大于 1.0 会使影像变亮。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要亮度的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的亮度值。该函数会在每一帧、每一个瓦片上执行,因此必须高效。 |
contrast |
number | function |
<optional> |
1.0 | 此图层的对比度。1.0 使用未经修改的影像颜色。小于 1.0 会降低对比度,大于 1.0 会提高对比度。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要对比度的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的对比度值。该函数会在每一帧、每一个瓦片上执行,因此必须高效。 |
hue |
number | function |
<optional> |
0.0 | 此图层的色调。0.0 使用未经修改的影像颜色。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要色调的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的色调值。该函数会在每一帧、每一个瓦片上执行,因此必须高效。 |
saturation |
number | function |
<optional> |
1.0 | 此图层的饱和度。1.0 使用未经修改的影像颜色。小于 1.0 会降低饱和度,大于 1.0 会提高饱和度。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要饱和度的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的饱和度值。该函数会在每一帧、每一个瓦片上执行,因此必须高效。 |
gamma |
number | function |
<optional> |
1.0 | 应用于此图层的 gamma 校正值。1.0 使用未经修改的影像颜色。
这可以是一个简单的数字,也可以是一个签名为 function(frameState, layer, x, y, level) 的函数。该函数会接收到当前的帧状态、此图层,以及需要 gamma 值的影像瓦片的 x、y 和 level 坐标,并应当返回用于该瓦片的 gamma 值。该函数会在每一帧、每一个瓦片上执行,因此必须高效。 |
splitDirection |
SplitDirection | function |
<optional> |
SplitDirection.NONE | 应用于此图层的 SplitDirection 分割值。 |
minificationFilter |
TextureMinificationFilter |
<optional> |
TextureMinificationFilter.LINEAR | 应用于此图层的纹理缩小过滤器。可能的值为
TextureMinificationFilter.LINEAR 和
TextureMinificationFilter.NEAREST。 |
magnificationFilter |
TextureMagnificationFilter |
<optional> |
TextureMagnificationFilter.LINEAR | 应用于此图层的纹理缩小过滤器。可能的值为
TextureMagnificationFilter.LINEAR 和
TextureMagnificationFilter.NEAREST。 |
show |
boolean |
<optional> |
true | 如果图层显示则为 true;否则为 false。 |
maximumAnisotropy |
number |
<optional> |
maximum supported | 用于纹理过滤的最大各向异性级别。如果未指定此参数,将使用 WebGL 栈所支持的最大各向异性。值越大,影像在 horizon(地平线)视角下看起来越好。 |
minimumTerrainLevel |
number |
<optional> |
显示此影像图层所对应的最小地形细节层级, 或者为 undefined 以在所有层级显示。级别 0 是最不详细的层级。 | |
maximumTerrainLevel |
number |
<optional> |
显示此影像图层所对应的最大地形细节层级, 或者为 undefined 以在所有层级显示。级别 0 是最不详细的层级。 | |
cutoutRectangle |
Rectangle |
<optional> |
用于挖空此 ImageryLayer 一部分的地理矩形。 | |
colorToAlpha |
Color |
<optional> |
用作 alpha 的颜色。 | |
colorToAlphaThreshold |
number |
<optional> |
0.004 | color-to-alpha 的阈值。 |
发生错误时调用的函数。
This:
| Name | Type | Description |
|---|---|---|
err |
Error | 包含所发生的错误详细信息的对象。 |
提供器已创建时调用的函数
This:
| Name | Type | Description |
|---|---|---|
provider |
ImageryProvider | 所创建的影像提供器。 |
ImageryLayer.fromWorldImagery 的初始化选项
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
options.style |
IonWorldImageryStyle |
<optional> |
IonWorldImageryStyle | 基础影像的样式,目前仅支持 AERIAL、AERIAL_WITH_LABELS 和 ROAD。 |
