ArcGisMapServerImageryProvider

new Cesium.ArcGisMapServerImageryProvider(options)

此对象通常不直接实例化,请使用 ArcGisMapServerImageryProvider.fromBasemapTypeArcGisMapServerImageryProvider.fromUrl
提供由 ArcGIS MapServer 托管的切片影像。默认情况下,如果可用,将使用服务器的预缓存切片。
访问 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

获取此影像提供者处于活动状态时显示的版权信息。通常用于标注影像来源。
获取或设置一个值,指示是否启用要素拾取。如果为 true,ArcGisMapServerImageryProvider#pickFeatures 将调用 ArcGIS 服务器上的 "identify" 操作并返回响应中包含的要素。如果为 false,ArcGisMapServerImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的要素),而不会与服务器通信。
Default Value: true
获取当影像提供者遇到异步错误时触发的事件。通过订阅该事件,您将收到错误通知并有可能从中恢复。事件监听器会接收一个 TileProviderError 实例。
获取一个值,指示此影像提供者提供的图像是否包含 Alpha 通道。如果此属性为 false,则忽略存在的 Alpha 通道。如果此属性为 true,则任何不含 Alpha 通道的图像将被视为 Alpha 值处处为 1.0。当此属性为 false 时,可减少内存使用和纹理上传时间。
Default Value: true
获取要显示的以逗号分隔的图层 ID 列表。

readonly maximumLevel : number|undefined

获取可请求的最大细节层级。
获取可请求的最小细节层级。
获取此提供者使用的代理。
获取此实例提供的影像的矩形范围(以弧度为单位)。
获取切片丢弃策略。如果不为 undefined,丢弃策略将通过其 shouldDiscardImage 函数负责过滤掉"缺失"的切片。如果此函数返回 undefined,则不会过滤任何切片。
获取每个切片的高度(以像素为单位)。
获取每个切片的宽度(以像素为单位)。
获取此提供者使用的切片方案。
获取用于 ArcGIS MapServer 服务身份验证的 ArcGIS 令牌。
获取 ArcGIS MapServer 的 URL。

readonly usingPrecachedTiles : boolean

获取一个值,指示此影像提供者是否正在使用 ArcGIS MapServer 的预缓存切片。
Default Value: true

Methods

static Cesium.ArcGisMapServerImageryProvider.fromBasemapType(style, options)Promise.<ArcGisMapServerImageryProvider>

创建一个 ImageryProvider,提供来自 ArcGIS 底图的切片影像。
Name Type Description
style ArcGisBaseMapType ArcGIS 底图影像的样式。有效选项为 ArcGisBaseMapType.SATELLITEArcGisBaseMapType.OCEANSArcGisBaseMapType.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

Cesium.ArcGisMapServerImageryProvider.ConstructorOptions

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。访问切片服务器时忽略此参数。
需要帮助?获取答案的最快方式是在 Cesium 论坛上向社区和团队提问。