此对象通常不直接实例化,请使用
提供由 ArcGIS MapServer 托管的切片影像。默认情况下,如果可用,将使用服务器的预缓存切片。
ArcGisMapServerImageryProvider.fromBasemapType 或 ArcGisMapServerImageryProvider.fromUrl。
访问 ArcGIS Image Tile 服务需要 ArcGIS Access Token 进行身份验证。要访问安全的 ArcGIS 资源,需要创建 ArcGIS 开发者账户或 ArcGIS Online 账户,然后实现身份验证方法以获取访问令牌。
| Name | Type | Description |
|---|---|---|
options |
ArcGisMapServerImageryProvider.ConstructorOptions | optional 描述初始化选项的对象 |
Examples:
// Set the default access token for accessing ArcGIS Image Tile service
Cesium.ArcGisMapService.defaultAccessToken = "<ArcGIS Access Token>";
// Add a base layer from a default ArcGIS basemap
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayer: Cesium.ImageryLayer.fromProviderAsync(
Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
Cesium.ArcGisBaseMapType.SATELLITE
)
),
});
// Create an imagery provider from the url directly
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer", {
token: "<ArcGIS Access Token>"
});
See:
Members
readonly credit : Credit
获取此影像提供者处于活动状态时显示的版权信息。通常用于标注影像来源。
获取或设置一个值,指示是否启用要素拾取。如果为 true,
ArcGisMapServerImageryProvider#pickFeatures 将调用 ArcGIS 服务器上的 "identify" 操作并返回响应中包含的要素。如果为 false,ArcGisMapServerImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的要素),而不会与服务器通信。
-
Default Value:
true
readonly errorEvent : Event
获取当影像提供者遇到异步错误时触发的事件。通过订阅该事件,您将收到错误通知并有可能从中恢复。事件监听器会接收一个
TileProviderError 实例。
获取一个值,指示此影像提供者提供的图像是否包含 Alpha 通道。如果此属性为 false,则忽略存在的 Alpha 通道。如果此属性为 true,则任何不含 Alpha 通道的图像将被视为 Alpha 值处处为 1.0。当此属性为 false 时,可减少内存使用和纹理上传时间。
-
Default Value:
true
获取要显示的以逗号分隔的图层 ID 列表。
获取可请求的最大细节层级。
获取可请求的最小细节层级。
readonly proxy : Proxy
获取此提供者使用的代理。
readonly rectangle : Rectangle
获取此实例提供的影像的矩形范围(以弧度为单位)。
readonly tileDiscardPolicy : TileDiscardPolicy
获取切片丢弃策略。如果不为 undefined,丢弃策略将通过其 shouldDiscardImage 函数负责过滤掉"缺失"的切片。如果此函数返回 undefined,则不会过滤任何切片。
获取每个切片的高度(以像素为单位)。
获取每个切片的宽度(以像素为单位)。
readonly tilingScheme : TilingScheme
获取此提供者使用的切片方案。
获取用于 ArcGIS MapServer 服务身份验证的 ArcGIS 令牌。
获取 ArcGIS MapServer 的 URL。
获取一个值,指示此影像提供者是否正在使用 ArcGIS MapServer 的预缓存切片。
-
Default Value:
true
Methods
static Cesium.ArcGisMapServerImageryProvider.fromBasemapType(style, options) → Promise.<ArcGisMapServerImageryProvider>
创建一个
ImageryProvider,提供来自 ArcGIS 底图的切片影像。
| Name | Type | Description |
|---|---|---|
style |
ArcGisBaseMapType |
ArcGIS 底图影像的样式。有效选项为 ArcGisBaseMapType.SATELLITE、ArcGisBaseMapType.OCEANS 和 ArcGisBaseMapType.HILLSHADE。 |
options |
ArcGisMapServerImageryProvider.ConstructorOptions | optional 描述初始化选项的对象。 |
Returns:
一个解析为创建的 ArcGisMapServerImageryProvider 的 Promise。
Examples:
// Set the default access token for accessing ArcGIS Image Tile service
Cesium.ArcGisMapService.defaultAccessToken = "<ArcGIS Access Token>";
// Add a base layer from a default ArcGIS basemap
const provider = await Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
Cesium.ArcGisBaseMapType.SATELLITE);
// Add a base layer from a default ArcGIS Basemap
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayer: Cesium.ImageryLayer.fromProviderAsync(
Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
Cesium.ArcGisBaseMapType.HILLSHADE, {
token: "<ArcGIS Access Token>"
}
)
),
});
static Cesium.ArcGisMapServerImageryProvider.fromUrl(url, options) → Promise.<ArcGisMapServerImageryProvider>
创建一个
ImageryProvider,提供由 ArcGIS MapServer 托管的切片影像。默认情况下,如果可用,将使用服务器的预缓存切片。
| Name | Type | Description |
|---|---|---|
url |
Resource | string | ArcGIS MapServer 服务的 URL。 |
options |
ArcGisMapServerImageryProvider.ConstructorOptions | optional 描述初始化选项的对象。 |
Returns:
一个解析为创建的 ArcGisMapServerImageryProvider 的 Promise。
Throws:
-
RuntimeError : 元数据空间参考指定了未知的 WKID
-
RuntimeError : 元数据 fullExtent.spatialReference 指定了未知的 WKID
Example:
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
);
getTileCredits(x, y, level) → Array.<Credit>
获取当给定切片显示时要显示的版权信息。
| Name | Type | Description |
|---|---|---|
x |
number | 切片 X 坐标。 |
y |
number | 切片 Y 坐标。 |
level |
number | 切片层级; |
Returns:
当切片显示时要显示的版权信息。
pickFeatures(x, y, level, longitude, latitude) → Promise.<Array.<ImageryLayerFeatureInfo>>|undefined
/**
异步确定切片中给定经度和纬度位置存在的要素(如果有)。
| Name | Type | Description |
|---|---|---|
x |
number | 切片 X 坐标。 |
y |
number | 切片 Y 坐标。 |
level |
number | 切片层级。 |
longitude |
number | 拾取要素的经度。 |
latitude |
number | 拾取要素的纬度。 |
Returns:
拾取要素的 Promise,当异步拾取完成时解析。解析值为
ImageryLayerFeatureInfo 实例数组。如果在给定位置未找到要素,则数组可能为空。
requestImage(x, y, level, request) → Promise.<ImageryTypes>|undefined
请求给定切片的图像。
| Name | Type | Description |
|---|---|---|
x |
number | 切片 X 坐标。 |
y |
number | 切片 Y 坐标。 |
level |
number | 切片层级。 |
request |
Request | optional 请求对象。仅供内部使用。 |
Returns:
图像的 Promise,当图像可用时解析;如果对服务器的活动请求过多,则返回 undefined,应稍后重试请求。
Type Definitions
ArcGisMapServerImageryProvider 构造函数的初始化选项
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
tileDiscardPolicy |
TileDiscardPolicy |
<optional> |
确定切片是否无效并应被丢弃的策略。如果未指定此值,切片地图服务器将使用默认的 DiscardMissingTileImagePolicy,非切片地图服务器将使用 NeverTileDiscardPolicy。在前一种情况下,我们请求最大切片层级的 0,0 切片并检查像素 (0,0)、(200,20)、(20,200)、(80,110) 和 (160,130)。如果所有这些像素都是透明的,则禁用丢弃检查,不会丢弃任何切片。如果其中任何一个具有非透明颜色,则在这些像素位置具有相同值的任何切片都将被丢弃。这些默认值的最终结果应该是对标准 ArcGIS Server 的正确切片丢弃。要确保不丢弃任何切片,请为此参数构造并传递 NeverTileDiscardPolicy。 |
|
usePreCachedTilesIfAvailable |
boolean |
<optional> |
true | 如果为 true,则使用服务器的预缓存切片(如果可用)。导出切片仅在使用已弃用的 API 时受支持。 |
layers |
string |
<optional> |
要显示的图层的逗号分隔列表,如果应显示所有图层则为 undefined。 | |
enablePickFeatures |
boolean |
<optional> |
true | 如果为 true,ArcGisMapServerImageryProvider#pickFeatures 将调用 MapServer 上的 Identify 服务并返回响应中包含的要素。如果为 false,ArcGisMapServerImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的要素),而不会与服务器通信。如果不希望此提供者的要素可被拾取,请将此属性设置为 false。可通过设置对象上的 ArcGisMapServerImageryProvider#enablePickFeatures 属性来覆盖。 |
rectangle |
Rectangle |
<optional> |
Rectangle.MAX_VALUE | 图层的矩形范围。访问切片图层时忽略此参数。 |
tilingScheme |
TilingScheme |
<optional> |
new GeographicTilingScheme() | 用于将世界划分为切片的切片方案。访问切片服务器时忽略此参数。 |
ellipsoid |
Ellipsoid |
<optional> |
Ellipsoid.default | 椭球体。如果指定并使用了 tilingScheme,则忽略此参数,改用切片方案的椭球体。如果两个参数都未指定,则使用默认椭球体。 |
credit |
Credit | string |
<optional> |
数据源的版权信息,显示在画布上。访问切片服务器时忽略此参数。 | |
tileWidth |
number |
<optional> |
256 | 每个切片的宽度(以像素为单位)。访问切片服务器时忽略此参数。 |
tileHeight |
number |
<optional> |
256 | 每个切片的高度(以像素为单位)。访问切片服务器时忽略此参数。 |
maximumLevel |
number |
<optional> |
请求的最大切片层级,如果没有最大值则为 undefined。访问切片服务器时忽略此参数。 |
