Class: ArcGisMapServerImageryProvider

ArcGisMapServerImageryProvider

new ArcGisMapServerImageryProvider()

提供由 ArcGIS MapServer 托管的瓦片影像服务。默认情况下,若服务端预缓存瓦片可用,将优先使用这些预缓存瓦片‌ 访问 ArcGIS 影像瓦片服务需提供 ArcGIS 访问令牌(Access Token)进行身份验证。 要获取安全资源,需先注册 ArcGIS 开发者账户或 ArcGIS 在线账户,并通过认证方法获取访问令牌‌。

Name Type Default Description
options.url String

ArcGIS MapServer服务的URL。

options.token String 可选

用于与ArcGIS MapServer服务进行身份验证的ArcGIS令牌。

options.tileDiscardPolicy TileDiscardPolicy 可选

确定瓦片是否无效并应该被丢弃的策略。 如果这个值没有被指定,对于瓦片地图服务器,默认使用DiscardMissingTileImagePolicy,对于非瓦片地图服务器,默认使用NeverTileDiscardPolicy。 在前一种情况下,我们请求最高瓦片级别的0,0瓦片,然后检查像素点(0,0),(200,20),(20,200),(80,110)和(160, 130)。 如果所有这些像素点都是透明的,则丢弃检查被禁用,没有瓦片被丢弃。 如果它们中任何一个有非透明颜色,任何在这些像素位置具有相同值的瓦片将被丢弃。 这些默认值的最终结果应该是对于标准ArcGIS服务器的正确瓦片丢弃。 为确保没有瓦片被丢弃,构建并传递一个NeverTileDiscardPolicy作为此参数。

options.proxy Proxy 可选

用于请求的代理。如果需要,该对象应具有一个 getURL 函数,用于返回代理 URL。

options.usePreCachedTilesIfAvailable Boolean true 可选

如果为true,将使用服务器的预缓存瓦片(如果可用)。如果为false,将忽略任何预缓存瓦片,并使用export服务。

options.layers String 可选

使用逗号分隔要显示的图层列表,或者如果所有图层都应该显示,则为undefined。

options.enablePickFeatures Boolean true 可选

如果为true,ArcGisMapServerImageryProvider#pickFeatures将调用MapServer上的Identify服务,并返回响应中包含的要素。如果为false,ArcGisMapServerImageryProvider#pickFeatures将立即返回undefined(表示没有可拾取的要素),而不与服务器通信。 如果您不希望此提供者的要素被拾取,请将此属性设置为false。 可以通过在对象上设置ArcGisMapServerImageryProvider#enablePickFeatures属性来覆盖此设置。

options.rectangle Rectangle Rectangle.MAX_VALUE 可选

图层的矩形范围。在访问瓦片图层时,此参数将被忽略。

options.tilingScheme TilingScheme new GeographicTilingScheme() 可选

用于将全球影像划分为瓦片的切片方案。在访问瓦片服务器时,此参数将被忽略。

options.ellipsoid Ellipsoid 可选

椭球体。如果指定并使用了切片方案,该参数将被忽略,取而代之的是切片方案的椭球体。如果两个参数都未指定,则使用 WGS84 椭球。

options.tileWidth Number 256 可选

每个瓦片的像素宽度。在访问瓦片服务器时,此参数将被忽略。

options.tileHeight Number 256 可选

每个瓦片的像素高度。在访问瓦片服务器时,此参数将被忽略。

options.maximumLevel Number 可选

要请求的最大瓦片级别,或者如果没有最大值则为undefined。在访问瓦片服务器时,此参数将被忽略。

See:
Example
var esri = new SuperMap3D.ArcGisMapServerImageryProvider({
    url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
});

Members

readonly creditCredit

获取当此影像provider处于活动状态时显示的版权声明。通常,这用于影像的来源。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

customRequestHeadersObject

自定义请求头

enablePickFeaturesBoolean

Gets or sets a value indicating whether feature picking is enabled. If true, ArcGisMapServerImageryProvider#pickFeatures will invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false, ArcGisMapServerImageryProvider#pickFeatures will immediately return undefined (indicating no pickable features) without communicating with the server.

Default Value:
true

readonly errorEventEvent

获取一个事件,当影像provider遇到异步错误时触发。通过订阅此事件,您将被通知错误,并有可能从中恢复。事件监听器将接收到一个TileProviderError实例。

readonly hasAlphaChannelBoolean

获取一个值,指示此影像provider提供的影像是否包含alpha通道。如果这个属性为false,即使存在alpha通道,也会被忽略。 如果这个属性为true,任何没有alpha通道的影像将被视为其alpha值在所有地方都是1.0。当这个属性为false时,内存使用量和纹理上传时间都会减少。

Default Value:
true

layersString

获取要显示的以逗号分隔的层id列表。

readonly maximumLevelNumber

获取可以请求的精细级别。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

readonly minimumLevelNumber

获取可请求的最小精细级别。在 ArcGisMapServerImageryProvider#ready 返回 true 之前不应调用此函数。

readonly proxyProxy

获取该提供程序使用的代理。

readonly readyBoolean

获取一个值,指示provider是否准备好供使用。

readonly readyPromisePromise.<Boolean>

获取一个promise,当provider准备好供使用时为true。

readonly rectangleRectangle

获取此实例提供的影像的矩形范围,以弧度为单位。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

readonly tileDiscardPolicyTileDiscardPolicy

获取瓦片丢弃策略。如果没有定义,丢弃策略负责通过其shouldDiscardImage函数过滤掉缺失的瓦片。 如果这个函数返回undefined,则没有瓦片被过滤。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

readonly tileHeightNumber

获取每个瓦片的高度,以像素为单位。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

readonly tileWidthNumber

获取每个瓦片的宽度,以像素为单位。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

readonly tilingSchemeTilingScheme

获取此provider使用的瓦片方案。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

readonly tokenString

获取用于验证 ArcGis MapServer 服务的 ArcGIS 令牌。

readonly urlString

获取 ArcGIS MapServer 的 URL。

readonly usingPrecachedTilesBoolean

获取一个值,指示此影像provider是否正在使用来自ArcGIS MapServer的预缓存瓦片。 如果影像 provider 尚未准备好(ArcGisMapServerImageryProvider#ready),即使MapServer没有预缓存瓦片,此函数也将返回options.usePreCachedTilesIfAvailable的值。

Default Value:
true

Methods

getTileCredits(x, y, level){Array.<Credit>}

获取在显示给定瓦片时要显示的版权信息。

Name Type Description
x Number

瓦片的 X 坐标。

y Number

瓦片的 Y 坐标。

level Number

瓦片的级别。

Throws:

在影像Provider准备好之前,不能调用getTileCredits

Type
DeveloperError
Returns:
Type Description
Array.<Credit> 当瓦片显示时需要显示的版权信息。

pickFeatures(x, y, level, longitude, latitude){Promise.<Array.<ImageryLayerFeatureInfo>>|undefined}

/** 异步确定在瓦片内给定经度和纬度处是否有任何要素。在ImageryProvider#ready返回true之前,不应调用此函数。

Name Type Description
x Number

瓦片的 X 坐标。

y Number

瓦片的 Y 坐标。

level Number

瓦片的级别。

longitude Number

选取特征的经度。

latitude Number

选取特征的纬度。

Throws:

在影像 provider准备好之前,不能调用pickFeatures

Type
DeveloperError
Returns:
Type Description
Promise.<Array.<ImageryLayerFeatureInfo>> | undefined 一个对选中要素的Promise,当异步拾取完成时将解决。解决的值是一个ImageryLayerFeatureInfo实例数组。如果给定位置没有发现要素,则数组可能为空。

requestImage(x, y, level, request){Promise.<(Image|Canvas)>|undefined}

请求给定瓦片的影像。在ArcGisMapServerImageryProvider#ready返回true之前,不应调用此函数。

Name Type Description
x Number

瓦片的 X 坐标。

y Number

瓦片的 Y 坐标。

level Number

瓦片的级别。

request Request 可选

请求对象。仅供内部使用。

Throws:

在影像Provider准备好之前,不能调用 requesttImage

Type
DeveloperError
Returns:
Type Description
Promise.<(Image|Canvas)> | undefined 一个影像的Promise,当影像可用时将解决,或者如果对服务器的活跃请求太多,并且请求应该稍后重试,则为undefined。 解决的影像可以是Image或Canvas DOM对象。