通过使用指定的 URL 模板请求瓦片来提供影像。
Name | Type | Default | Description |
---|---|---|---|
options.url |
String |
用于请求瓦片的 URL 模板。它包含以下关键字:
|
|
options.pickFeaturesUrl |
String |
optional
URL 模板。如果未指定此属性,UrlTemplateImageryProvider#pickFeatures 将立即返回未定义,表示未选取任何特征。URL 模板支持 url 参数支持的所有关键字以及以下关键字:
|
|
options.urlSchemeZeroPadding |
Object |
optional
获取每个切图坐标的URL方案零填充。格式为'000',其中每个坐标将在左侧填充零以匹配传递的零字符串的宽度。
例如:设置:urlSchemeZeroPadding: {'{x}': '0000'}将导致'x'值为12返回字符串'0012'在生成的URL中代表{x}。
如果传递的对象有以下关键字:
|
|
options.subdomains |
String | Array.<String> |
'abc'
|
optional
URL模板中{s} 占位符要使用的子域。如果是单个字符串,则字符串中的每个字符表示一个子域。如果是数组,则数组中的每个元素都是一个子域。 |
options.proxy |
Object | optional 用于请求的代理。这个对象应该有一个getURL函数来返回被代理的URL。 | |
options.credit |
Credit | String |
''
|
optional 数据源的版权声明,显示在画布上。 |
options.minimumLevel |
Number |
0
|
optional 影像提供商支持的最小精细级别。在指定此选项时,请注意最小级别上的瓦片数量要小,例如4个或更少。较大的数字可能会导致呈现问题。 |
options.maximumLevel |
Number | optional 影像提供者支持的最大精细级别,如果没有限制,则未定义。 | |
options.rectangle |
Rectangle |
Rectangle.MAX_VALUE
|
optional 影像覆盖的矩形(以弧度为单位)。 |
options.tilingScheme |
TilingScheme |
WebMercatorTilingScheme
|
optional
指定如何将椭球面分割成瓦片的瓦片方案。如果不提供该参数,则使用WebMercatorTilingScheme 。 |
options.ellipsoid |
Ellipsoid | optional 椭球。如果指定了瓦片方案,则忽略此参数,而使用瓦片方案的椭球。如果不指定任何参数,则使用WGS84椭球。 | |
options.tileWidth |
Number |
256
|
optional 影像瓦片的像素宽度。 |
options.tileHeight |
Number |
256
|
optional 影像瓦片的像素高度。 |
options.hasAlphaChannel |
Boolean |
true
|
optional 如果该影像提供者提供的影像包含 alpha 通道,则为 true;否则为 false。 如果此属性为false,alpha 通道(如果存在)将被忽略。 如果该属性为true,则任何没有 alpha 通道的影像都将被视为其 alpha 值为 1.0。 如果此属性为false,则可能会减少内存使用量和纹理上传时间。 |
options.getFeatureInfoFormats |
Array.<GetFeatureInfoFormat> |
optional
当调用 UrlTemplateImageryProvider#pickFeatures 时,在特定位置获取特征信息的格式。如果未指定此参数,则将禁用特征选择功能。 |
|
options.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
-
获取或设置一个值,该值指示是否启用了特征选取。如果为true,
UrlTemplateImageryProvider#pickFeatures
将请求选项。 pickFeaturesUrl
并尝试解释响应中包含的特性。如果为false,UrlTemplateImageryProvider#pickFeatures
将在不与服务器通信的情况下立即返回undefined(表示没有可选择的功能)。 如果您知道您的数据源不支持选择特性,或者您不希望此提供程序的特性是可选择的,请将此属性设置为false。-
Default Value:
true
-
readonlyerrorEvent : Event
-
获取当影像提供程序遇到异步错误时引发的事件。通过订阅事件,您将收到错误通知,并有可能从中恢复。事件监听器被传递一个
TileProviderError
的实例。 -
获取指示该影像提供程序提供的影像是否包含 alpha 通道的值。 如果该属性为 false,则会忽略存在的 alpha 通道。 如果该属性为 true,任何不包含 alpha 通道的影像都将被视为其 alpha 值为 1.0 的影像。 如果此属性为 false,则会减少内存使用量和纹理上传时间。 在
ImageryProvider#ready
返回 true 之前,不应调用此函数。-
Default Value:
true
-
获取可请求的最大精细级别,如果没有限制,则为未定义。此函数不应在
UrlTemplateImageryProvider#ready
返回 true 之前调用。-
Default Value:
undefined
-
获取可请求的最小精细级别,如果没有限制,则为未定义。此函数不应在
UrlTemplateImageryProvider#ready
返回 true 之前调用。-
Default Value:
0
-
获取要用于选择特性的URL模板。如果未指定此属性,则
UrlTemplateImageryProvider#pickFeatures
将立即返回undefined,表示没有 功能选择。属性支持的所有关键字UrlTemplateImageryProvider#url
属性,加上以下内容:{i}
: 所选位置的像素列(横坐标),其中最西端像素为0。{j}
: 所选位置的像素行(垂直坐标),其中最北像素为0。{reverseI}
: 所选位置的像素列(横坐标),其中最东端像素为0。{reverseJ}
: 所选位置的像素行(垂直坐标),其中最南端的像素为0。{longitudeDegrees}
: 以度为单位的选定位置的经度。{latitudeDegrees}
: 以度为单位的选定位置的纬度。{longitudeProjected}
: 在瓦片方案的投影坐标中选定位置的经度。{latitudeProjected}
: 在瓦片方案的投影坐标中选定位置的纬度。{format}
: 获取特征信息的格式,如GetFeatureInfoFormat
中指定的。
-
获取此提供程序使用的代理。
-
Default Value:
undefined
-
获取一个值,该值指示提供程序是否已准备好使用。
-
获取一个Promise,该Promise在提供程序准备好使用时解析为true。
-
readonlyrectangle : Rectangle
-
获取此实例所提供影像的矩形(以弧度为单位)。此函数不应在
UrlTemplateImageryProvider#ready
返回 true 之前调用。-
Default Value:
tilingScheme.rectangle
-
readonlytileDiscardPolicy : TileDiscardPolicy
-
获取瓦片丢弃策略。如果未定义,则丢弃策略负责通过其 shouldDiscardImage 函数过滤 "丢失 "的瓦片。如果此函数返回未定义,则不会过滤任何瓦片。 在
UrlTemplateImageryProvider#ready
返回 true 之前,不应调用此函数。-
Default Value:
undefined
-
获取每个瓦片的高度(以像素为单位)。这个函数不应该在
UrlTemplateImageryProvider#ready
返回true之前被调用。-
Default Value:
256
-
获取每个瓦片的宽度(以像素为单位)。这个函数不应该在
UrlTemplateImageryProvider#ready
返回true之前被调用。-
Default Value:
256
-
readonlytilingScheme : TilingScheme
-
获取此提供程序使用的瓦片方案。此函数不应在
UrlTemplateImageryProvider#ready
返回 true 之前调用。-
Default Value:
new WebMercatorTilingScheme()
-
获取用于请求瓦片的 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}
: 每个瓦片的高度(以像素为单位)。
-
-
获取每个瓦片坐标的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
实例的数组。如果在给定位置没有找到特征,则数组可能为空。 如果不支持选择,也可能是未定义的。 -
重新初始化该实例。支持重新初始化已在使用的实例,但不建议这样做,因为影像提供者提供的现有瓦片不会更新。
Name Type Description 可传递给
Promise.<Object> | Object UrlTemplateImageryProvider
构造函数的任意选项。 -
请求指定瓦片的影像。此函数不应在
UrlTemplateImageryProvider#ready
返回 true 之前调用。Name Type Description x
Number 瓦片的X坐标。 y
Number 瓦片的Y坐标。 level
Number 瓦片的级别。 request
Request optional 请求对象。仅供内部使用。 Returns:
对影像的一个Promise,当影像可用时将进行解析,如果对服务器的活动请求太多,则未定义,并且应该稍后重试请求。 解析后的影像可以是image对象,也可以是Canvas DOM对象。