UrlTemplateImageryProvider

new SuperMap3D.UrlTemplateImageryProvider(options)

通过使用指定的 URL 模板请求瓦片来提供影像。
Name Type Description
options Promise.<Object> | Object optional 具有以下属性的对象:
Name Type Default Description
url String 用于请求瓦片的 URL 模板。它包含以下关键字:
  • {z}: 瓦片在切图方案中的级别。0级是四叉金字塔的根。
  • {x}: 切图方案中的瓦片 X 坐标,其中 0 表示最西端的瓦片。
  • {y}: 切图方案中的瓦片 Y 坐标,其中 0 表示最北端的瓦片。
  • {s}: 可用子域之一,用于克服浏览器对每台主机同时请求数的限制。
  • {reverseX}: 切图方案中的瓦片 X 坐标,其中 0 表示最东边的瓦片。
  • {reverseY}: 切图方案中的瓦片 X 坐标,其中 0 表示最南边的瓦片。
  • {reverseZ}: 瓦片在切铺方案中的级别,其中0级是四叉树金字塔的最大级别。要使用 reverseZ,必须定义 maximumLevel。
  • {westDegrees}: 以大地坐标度数表示的瓦片西边。
  • {southDegrees}: 以大地坐标度数表示的瓦片南边。
  • {eastDegrees}: 以大地坐标度数表示的瓦片东边。
  • {northDegrees}: 以大地坐标度数表示的瓦片北边。
  • {westProjected}: 瓦片的西边,以切图方案的投影坐标表示。
  • {southProjected}: 瓦片的南边,以切图方案的投影坐标表示。
  • {eastProjected}: 瓦片的东边,以瓦片方案的投影坐标表示。
  • {northProjected}: 瓦片的北边,以瓦片方案的投影坐标表示。
  • {width}: 每个瓷片的宽度(以像素为单位)。
  • {height}: 每个瓷片的高度(以像素为单位)。
pickFeaturesUrl String optional URL 模板。如果未指定此属性,UrlTemplateImageryProvider#pickFeatures 将立即返回未定义,表示未选取任何特征。URL 模板支持 url 参数支持的所有关键字以及以下关键字:
  • {i}: 选取位置的像素列(横坐标),其中最西端的像素为 0。
  • {j}: 选取位置的像素行(垂直坐标),其中最北端的像素为 0。
  • {reverseI}: 选取位置的像素列(横坐标),其中最东端的像素为 0。
  • {reverseJ}: 选取位置的像素行(垂直坐标),其中最南端的像素为 0。
  • {longitudeDegrees}: 选中位置的经度(度)。
  • {latitudeDegrees}: 选取位置的纬度(度)。
  • {longitudeProjected}: 选取位置在切图方案投影坐标中的经度。
  • {latitudeProjected}: 选取位置在切图方案投影坐标中的纬度。
  • {format}: GetFeatureInfoFormat 中指定的获取特征信息的格式。
urlSchemeZeroPadding Object optional 获取每个切图坐标的URL方案零填充。格式为'000',其中每个坐标将在左侧填充零以匹配传递的零字符串的宽度。 例如:设置:urlSchemeZeroPadding: {'{x}': '0000'}将导致'x'值为12返回字符串'0012'在生成的URL中代表{x}。 如果传递的对象有以下关键字:
  • {z}: 瓦片切图方案中瓦片水平面的0填充。
  • {x}: 切图方案中瓦片 X 坐标的0填充。
  • {y}: 切图方案中瓦片 Y 坐标的0填充。
  • {reverseX}: 切图方案中瓦片反向 X 坐标的0填充。
  • {reverseY}: 切图方案中瓦片反向 Y 坐标的0填充。
  • {reverseZ}: 切图方案中瓦片反向 Z 坐标的0填充。
subdomains String | Array.<String> 'abc' optional URL模板中{s}占位符要使用的子域。如果是单个字符串,则字符串中的每个字符表示一个子域。如果是数组,则数组中的每个元素都是一个子域。
proxy Object optional 用于请求的代理。这个对象应该有一个getURL函数来返回被代理的URL。
credit Credit | String '' optional 数据源的凭证,显示在画布上。
minimumLevel Number 0 optional 影像提供商支持的最小精细级别。在指定此选项时,请注意最小级别上的瓦片数量要小,例如4个或更少。较大的数字可能会导致呈现问题。
maximumLevel Number optional 影像提供者支持的最大精细级别,如果没有限制,则未定义。
rectangle Rectangle Rectangle.MAX_VALUE optional 影像覆盖的矩形(以弧度为单位)。
tilingScheme TilingScheme WebMercatorTilingScheme optional 指定如何将椭球面分割成瓦片的切图方案。如果不提供该参数,则使用WebMercatorTilingScheme
ellipsoid Ellipsoid optional 椭球。如果指定了切图方案,则忽略此参数,而使用切图方案的椭球。如果不指定任何参数,则使用WGS84椭球。
tileWidth Number 256 optional 影像瓦片的像素宽度。
tileHeight Number 256 optional 影像瓦片的像素高度。
hasAlphaChannel Boolean true optional 如果该影像提供者提供的影像包含 alpha 通道,则为 true;否则为 false。 如果此属性为false,alpha 通道(如果存在)将被忽略。 如果该属性为true,则任何没有 alpha 通道的影像都将被视为其 alpha 值为 1.0。 如果此属性为false,则可能会减少内存使用量和纹理上传时间。
getFeatureInfoFormats Array.<GetFeatureInfoFormat> optional 当调用 UrlTemplateImageryProvider#pickFeatures 时,在特定位置获取特征信息的格式。如果未指定此参数,则将禁用特征选择功能。
enablePickFeatures Boolean true optional 如果为true,UrlTemplateImageryProvider#pickFeatures将请求options.pickFeaturesUrl并尝试解释响应中包含的特征。 如果为false,UrlTemplateImageryProvider#pickFeatures将立即返回undefined(表示没有可选取的特征),而不会与服务器通信。 如果您知道您的数据源不支持选取特征,或者您不希望该提供程序的特征是可选取的,请将此属性设为 false。 请注意,可通过修改 UriTemplateImageryProvider#enablePickFeatures 属性动态重载该属性。
Example:
// Access Natural Earth II imagery, which uses a TMS tiling scheme and Geographic (EPSG:4326) project
var tms = new SuperMap3D.UrlTemplateImageryProvider({
    url : 'https://cesiumjs.org/tilesets/imagery/naturalearthii/{z}/{x}/{reverseY}.jpg',
    credit : '© Analytical Graphics, Inc.',
    tilingScheme : new SuperMap3D.GeographicTilingScheme(),
    maximumLevel : 5
});
// Access the CartoDB Positron basemap, which uses an OpenStreetMap-like tiling scheme.
var positron = new SuperMap3D.UrlTemplateImageryProvider({
    url : 'http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
    credit : 'Map tiles by CartoDB, under CC BY 3.0. Data by OpenStreetMap, under ODbL.'
});
// Access a Web Map Service (WMS) server.
var wms = new SuperMap3D.UrlTemplateImageryProvider({
   url : 'https://programs.communications.gov.au/geoserver/ows?tiled=true&' +
         'transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
         'styles=&service=WMS&version=1.1.1&request=GetMap&' +
         'layers=public%3AMyBroadband_Availability&srs=EPSG%3A3857&' +
         'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' +
         'width=256&height=256',
   rectangle : SuperMap3D.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
});
See:

Members

readonlycredit : Credit

获取此影像提供程序处于活动状态时要显示的凭证。这通常是用来证明影像的来源。这个函数不应该在UrlTemplateImageryProvider#ready返回true之前被调用。
Default Value: undefined

enablePickFeatures : Boolean

获取或设置一个值,该值指示是否启用了特征选取。如果为true, UrlTemplateImageryProvider#pickFeatures将请求选项。 pickFeaturesUrl并尝试解释响应中包含的特性。如果为false, UrlTemplateImageryProvider#pickFeatures将在不与服务器通信的情况下立即返回undefined(表示没有可选择的功能)。 如果您知道您的数据源不支持选择特性,或者您不希望此提供程序的特性是可选择的,请将此属性设置为false。
Default Value: true

readonlyerrorEvent : Event

获取当影像提供程序遇到异步错误时引发的事件。通过订阅事件,您将收到错误通知,并有可能从中恢复。事件监听器被传递一个TileProviderError的实例。

readonlyhasAlphaChannel : Boolean

获取指示该影像提供程序提供的影像是否包含 alpha 通道的值。 如果该属性为 false,则会忽略存在的 alpha 通道。 如果该属性为 true,任何不包含 alpha 通道的影像都将被视为其 alpha 值为 1.0 的影像。 如果此属性为 false,则会减少内存使用量和纹理上传时间。 在 ImageryProvider#ready 返回 true 之前,不应调用此函数。
Default Value: true

readonlymaximumLevel : Number

获取可请求的最大精细级别,如果没有限制,则为未定义。此函数不应在 UrlTemplateImageryProvider#ready 返回 true 之前调用。
Default Value: undefined

readonlyminimumLevel : Number

获取可请求的最小精细级别,如果没有限制,则为未定义。此函数不应在 UrlTemplateImageryProvider#ready 返回 true 之前调用。
Default Value: 0

readonlypickFeaturesUrl : String

获取要用于选择特性的URL模板。如果未指定此属性,则 UrlTemplateImageryProvider#pickFeatures将立即返回undefined,表示没有 功能选择。属性支持的所有关键字 UrlTemplateImageryProvider#url属性,加上以下内容:
  • {i}: 所选位置的像素列(横坐标),其中最西端像素为0。
  • {j}: 所选位置的像素行(垂直坐标),其中最北像素为0。
  • {reverseI}: 所选位置的像素列(横坐标),其中最东端像素为0。
  • {reverseJ}: 所选位置的像素行(垂直坐标),其中最南端的像素为0。
  • {longitudeDegrees}: 以度为单位的选定位置的经度。
  • {latitudeDegrees}: 以度为单位的选定位置的纬度。
  • {longitudeProjected}: 在切图方案的投影坐标中选定位置的经度。
  • {latitudeProjected}: 在切图方案的投影坐标中选定位置的纬度。
  • {format}: 获取特征信息的格式,如GetFeatureInfoFormat中指定的。

readonlyproxy : Proxy

获取此提供程序使用的代理。
Default Value: undefined

readonlyready : Boolean

获取一个值,该值指示提供程序是否已准备好使用。

readonlyreadyPromise : Promise.<Boolean>

获取一个Promise,该Promise在提供程序准备好使用时解析为true。

readonlyrectangle : Rectangle

获取此实例所提供影像的矩形(以弧度为单位)。此函数不应在 UrlTemplateImageryProvider#ready 返回 true 之前调用。
Default Value: tilingScheme.rectangle

readonlytileDiscardPolicy : TileDiscardPolicy

获取瓦片丢弃策略。如果未定义,则丢弃策略负责通过其 shouldDiscardImage 函数过滤 "丢失 "的瓦片。如果此函数返回未定义,则不会过滤任何瓦片。 在UrlTemplateImageryProvider#ready 返回 true 之前,不应调用此函数。
Default Value: undefined

readonlytileHeight : Number

获取每个切图的高度(以像素为单位)。这个函数不应该在UrlTemplateImageryProvider#ready返回true之前被调用。
Default Value: 256

readonlytileWidth : Number

获取每个切图的宽度(以像素为单位)。这个函数不应该在UrlTemplateImageryProvider#ready返回true之前被调用。
Default Value: 256

readonlytilingScheme : TilingScheme

获取此提供程序使用的切图方案。此函数不应在 UrlTemplateImageryProvider#ready 返回 true 之前调用。
Default Value: new WebMercatorTilingScheme()

readonlyurl : String

获取用于请求瓦片的 URL 模板。它有以下关键字:
  • {z}: 瓦片在切图方案中的级别。0级是四叉金字塔的根。
  • {x}: 切图方案中的瓦片 X 坐标,其中 0 表示最西端的瓦片。
  • {y}: 切图方案中的瓦片 Y 坐标,其中 0 表示最北端的瓦片。
  • {s}: 可用子域之一,用于克服浏览器对每台主机同时请求数的限制。
  • {reverseX}: 切图方案中的瓦片 X 坐标,其中 0 表示最东边的瓦片。
  • {reverseY}: 切图方案中的瓦片 X 坐标,其中 0 表示最南边的瓦片。
  • {reverseZ}: 瓦片在切铺方案中的级别,其中0级是四叉树金字塔的最大级别。要使用 reverseZ,必须定义 maximumLevel。
  • {westDegrees}: 以大地坐标度数表示的瓦片西边。
  • {southDegrees}: 以大地坐标度数表示的瓦片南边。
  • {eastDegrees}: 以大地坐标度数表示的瓦片东边。
  • {northDegrees}: 以大地坐标度数表示的瓦片北边。
  • {westProjected}: 瓦片的西边,以切图方案的投影坐标表示。
  • {southProjected}: 瓦片的南边,以切图方案的投影坐标表示。
  • {eastProjected}: 瓦片的东边,以瓦片方案的投影坐标表示。
  • {northProjected}: 瓦片的北边,以瓦片方案的投影坐标表示。
  • {width}: 每个瓷片的宽度(以像素为单位)。
  • {height}: 每个瓷片的高度(以像素为单位)。

readonlyurlSchemeZeroPadding : Object

获取每个切图坐标的URL方案0填充。格式为“000”,其中每个坐标都将被填充 在左侧加零以匹配传递的0字符串的宽度。如设置: urlSchemeZeroPadding: {'{x}': '0000'} 将导致'x'值12返回字符串'0012',用于生成URL中的{x}。 包含以下关键词:
  • {z}: 切图方案中切图层的0填充。
  • {x}: 切图方案中切图X坐标的0填充。
  • {y}: 切图方案中切图Y坐标的0填充。
  • {reverseX}: 切图方案中切图reverseX坐标的0填充。
  • {reverseY}: 切图方案中切图reverseY坐标的0填充。
  • {reverseZ}: 切图方案中切图reverseZ坐标的0填充。

Methods

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

获取显示给定瓦片时要显示的凭证。
Name Type Description
x Number 瓦片的X坐标。
y Number 瓦片的Y坐标。
level Number 瓦片的级别。
Returns:
显示瓦片时要显示的凭证。
Throws:
  • DeveloperError : getTileCredits 不得在影像提供程序准备就绪前调用。

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 选取特征的纬度。
Returns:
对所选特性的Promise,将在异步选择完成时解决。 解析后的值是ImageryLayerFeatureInfo实例的数组。如果在给定位置没有找到特征,则数组可能为空。 如果不支持选择,也可能是未定义的。

reinitialize(可传递给)

重新初始化该实例。支持重新初始化已在使用的实例,但不建议这样做,因为影像提供者提供的现有瓦片不会更新。
Name Type Description
可传递给 Promise.<Object> | Object UrlTemplateImageryProvider 构造函数的任意选项。

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

请求指定瓦片的影像。此函数不应在 UrlTemplateImageryProvider#ready 返回 true 之前调用。
Name Type Description
x Number 瓦片的X坐标。
y Number 瓦片的Y坐标。
level Number 瓦片的级别。
request Request optional 请求对象。仅供内部使用。
Returns:
对影像的一个Promise,当影像可用时将进行解析,如果对服务器的活动请求太多,则未定义,并且应该稍后重试请求。 解析后的影像可以是image对象,也可以是Canvas DOM对象。