通过使用指定的 URL 模板请求瓦片来提供影像。
| Name | Type | Description |
|---|---|---|
options |
UrlTemplateImageryProvider.ConstructorOptions | Object describing initialization options |
Example:
// Access Natural Earth II imagery, which uses a TMS tiling scheme and Geographic (EPSG:4326) project
const tms = new Cesium.UrlTemplateImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') + '/{z}/{x}/{reverseY}.jpg',
tilingScheme : new Cesium.GeographicTilingScheme(),
maximumLevel : 5
});
// Access the CartoDB Positron basemap, which uses an OpenStreetMap-like tiling scheme.
const positron = new Cesium.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.
const wms = new Cesium.UrlTemplateImageryProvider({
url : 'https://services.ga.gov.au/gis/services/NM_Hydrology_and_Marine_Points/MapServer/WMSServer?' +
'tiled=true&transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
'styles=&service=WMS&version=1.3.0&request=GetMap&' +
'layers=Bores&crs=EPSG%3A3857&' +
'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' +
'width=256&height=256',
rectangle : Cesium.Rectangle.fromDegrees(95.0, -55.0, 170.0, -1.0) // From GetCapabilities EX_GeographicBoundingBox
});
// Using custom tags in your template url.
const custom = new Cesium.UrlTemplateImageryProvider({
url : 'https://yoururl/{Time}/{z}/{y}/{x}.png',
customTags : {
Time: function(imageryProvider, x, y, level) {
return '20171231'
}
}
});
See:
Members
readonly credit : Credit
获取当此影像提供者处于活动状态时要显示的 credit。通常这用于标注影像的来源。
-
Default Value:
undefined
获取或设置一个指示是否启用地物拾取功能的值。如果为 true,
UrlTemplateImageryProvider#pickFeatures 将
请求 options.pickFeaturesUrl 并尝试解析响应中包含的地物。如果为 false,
UrlTemplateImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的
地物),而不与服务器通信。如果您知道数据源不支持地物拾取,或者您不希望此提供者的地物可被拾取,请将此属性设为 false。
-
Default Value:
true
readonly errorEvent : Event
获取当影像提供者遇到异步错误时引发的事件。通过订阅该事件,您将收到错误通知并可能从中恢复。事件监听器会接收一个
TileProviderError 实例。
获取一个指示此影像提供者提供的影像是否包含 alpha 通道的 value。如果此属性为 false,则 alpha 通道(如果存在)将被忽略。如果此属性为 true,则任何没有 alpha 通道的影像将被视为其 alpha 处处为 1.0。当此属性为 false 时,内存占用和纹理上传时间都会减少。
-
Default Value:
true
获取可以请求的最大细节层级,如果没有限制则为 undefined。
-
Default Value:
undefined
获取可以请求的最小细节层级。
-
Default Value:
0
获取用于拾取地物的 URL 模板。如果未指定此属性,
UrlTemplateImageryProvider#pickFeatures 将立即返回 undefined,表示未拾取到
任何地物。该 URL 模板支持 UrlTemplateImageryProvider#url 属性所支持的所有关键字,以及以下关键字:
{i}:拾取位置的水平像素列坐标,其中最西侧像素为 0。{j}:拾取位置的垂直像素行坐标,其中最北侧像素为 0。{reverseI}:拾取位置的水平像素列坐标,其中最东侧像素为 0。{reverseJ}:拾取位置的垂直像素行坐标,其中最南侧像素为 0。{longitudeDegrees}:拾取位置的经度(以度为单位)。{latitudeDegrees}:拾取位置的纬度(以度为单位)。{longitudeProjected}:拾取位置在瓦片方案投影坐标中的经度。{latitudeProjected}:拾取位置在瓦片方案投影坐标中的纬度。{format}:获取地物信息的格式,如GetFeatureInfoFormat中所指定。
readonly proxy : Proxy
获取此提供者使用的代理。
-
Default Value:
undefined
readonly rectangle : Rectangle
获取此实例提供的影像的矩形范围(以弧度为单位)。
-
Default Value:
tilingScheme.rectangle
readonly tileDiscardPolicy : TileDiscardPolicy
获取瓦片丢弃策略。如果不为 undefined,该丢弃策略负责通过其 shouldDiscardImage 函数过滤掉“缺失”的瓦片。如果该函数返回 undefined,则不过滤任何瓦片。
-
Default Value:
undefined
获取每个瓦片的像素高度。
-
Default Value:
256
获取每个瓦片的像素宽度。
-
Default Value:
256
readonly tilingScheme : TilingScheme
获取此提供者使用的瓦片方案。
-
Default Value:
new WebMercatorTilingScheme()
获取用于请求瓦片的 URL 模板。它包含以下关键字:
{z}:瓦片在瓦片方案中的层级。层级 0 是四叉树金字塔的根。{x}:瓦片在瓦片方案中的 X 坐标,其中 0 是最西侧的瓦片。{y}:瓦片在瓦片方案中的 Y 坐标,其中 0 是最北侧的瓦片。{s}:可用子域之一,用于克服浏览器对每个主机的同时请求数量限制。{reverseX}:瓦片在瓦片方案中的 X 坐标,其中 0 是最东侧的瓦片。{reverseY}:瓦片在瓦片方案中的 Y 坐标,其中 0 是最南侧的瓦片。{reverseZ}:瓦片在瓦片方案中的层级,其中层级 0 是四叉树金字塔的最大层级。要使用 reverseZ,必须定义 maximumLevel。{westDegrees}:瓦片西边缘的大地坐标度数。{southDegrees}:瓦片南边缘的大地坐标度数。{eastDegrees}:瓦片东边缘的大地坐标度数。{northDegrees}:瓦片北边缘的大地坐标度数。{westProjected}:瓦片在瓦片方案投影坐标中的西边缘。{southProjected}:瓦片在瓦片方案投影坐标中的南边缘。{eastProjected}:瓦片在瓦片方案投影坐标中的东边缘。{northProjected}:瓦片在瓦片方案投影坐标中的北边缘。{width}:每个瓦片的像素宽度。{height}:每个瓦片的像素高度。
获取每个瓦片坐标的 URL 方案零填充。格式为 '000',其中每个坐标将在左侧用零填充,以匹配所传入零字符串的宽度。例如设置:
urlSchemeZeroPadding : { '{x}' : '0000' }
会使生成 URL 中的 {x} 在值为 12 时返回字符串 '0012'。
它包含以下关键字:
{z}:瓦片在瓦片方案中层级的零填充。{x}:瓦片在瓦片方案中 X 坐标的零填充。{y}:瓦片在瓦片方案中 Y 坐标的零填充。{reverseX}:瓦片在瓦片方案中 reverseX 坐标的零填充。{reverseY}:瓦片在瓦片方案中 reverseY 坐标的零填充。{reverseZ}:瓦片在瓦片方案中 reverseZ 坐标的零填充。
Methods
getTileCredits(x, y, level) → Array.<Credit>
获取显示给定瓦片时要显示的 credits。
| Name | Type | Description |
|---|---|---|
x |
number | 瓦片的 X 坐标。 |
y |
number | 瓦片的 Y 坐标。 |
level |
number | 瓦片层级; |
Returns:
显示该瓦片时要显示的 credits。
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,将在异步拾取完成时 resolve。解析后的值是一个
ImageryLayerFeatureInfo 实例数组。如果在给定位置未找到地物,则该数组可能为空。如果不支持拾取,则该值也可能为 undefined。
requestImage(x, y, level, request) → Promise.<ImageryTypes>|undefined
| Name | Type | Description |
|---|---|---|
x |
number | 瓦片的 X 坐标。 |
y |
number | 瓦片的 Y 坐标。 |
level |
number | 瓦片层级。 |
request |
Request | optional 请求对象。仅供内部使用。 |
Returns:
图像的 promise,将在图像可用时 resolve;如果到服务器的活动请求过多,则返回 undefined,并且该请求应在稍后重试。
Type Definitions
Initialization options for the UrlTemplateImageryProvider constructor
{z}:瓦片在瓦片方案中的层级。层级 0 是四叉树金字塔的根。{x}:瓦片在瓦片方案中的 X 坐标,其中 0 是最西侧的瓦片。{y}:瓦片在瓦片方案中的 Y 坐标,其中 0 是最北侧的瓦片。{s}:可用子域之一,用于克服浏览器对每个主机的同时请求数量限制。{reverseX}:瓦片在瓦片方案中的 X 坐标,其中 0 是最东侧的瓦片。{reverseY}:瓦片在瓦片方案中的 Y 坐标,其中 0 是最南侧的瓦片。{reverseZ}:瓦片在瓦片方案中的层级,其中层级 0 是四叉树金字塔的最大层级。要使用 reverseZ,必须定义 maximumLevel。{westDegrees}:瓦片西边缘的大地坐标度数。{southDegrees}:瓦片南边缘的大地坐标度数。{eastDegrees}:瓦片东边缘的大地坐标度数。{northDegrees}:瓦片北边缘的大地坐标度数。{westProjected}:瓦片在瓦片方案投影坐标中的西边缘。{southProjected}:瓦片在瓦片方案投影坐标中的南边缘。{eastProjected}:瓦片在瓦片方案投影坐标中的东边缘。{northProjected}:瓦片在瓦片方案投影坐标中的北边缘。{width}:每个瓦片的像素宽度。{height}:每个瓦片的像素高度。{i}:拾取位置的水平像素列坐标,其中最西侧像素为 0。{j}:拾取位置的垂直像素行坐标,其中最北侧像素为 0。{reverseI}:拾取位置的水平像素列坐标,其中最东侧像素为 0。{reverseJ}:拾取位置的垂直像素行坐标,其中最南侧像素为 0。{longitudeDegrees}:拾取位置的经度(以度为单位)。{latitudeDegrees}:拾取位置的纬度(以度为单位)。{longitudeProjected}:拾取位置在瓦片方案投影坐标中的经度。{latitudeProjected}:拾取位置在瓦片方案投影坐标中的纬度。{format}:获取地物信息的格式,如GetFeatureInfoFormat中所指定。{z}:瓦片在瓦片方案中层级的零填充。{x}:瓦片在瓦片方案中 X 坐标的零填充。{y}:瓦片在瓦片方案中 Y 坐标的零填充。{reverseX}:瓦片在瓦片方案中 reverseX 坐标的零填充。{reverseY}:瓦片在瓦片方案中 reverseY 坐标的零填充。{reverseZ}:瓦片在瓦片方案中 reverseZ 坐标的零填充。
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
url |
Resource | string | 用于请求瓦片的 URL 模板。它包含以下关键字:
|
||
pickFeaturesUrl |
Resource | string |
<optional> |
用于拾取地物的 URL 模板。如果未指定此属性,
UrlTemplateImageryProvider#pickFeatures 将立即返回 undefined,表示未拾取到
任何地物。该 URL 模板支持 url 参数所支持的所有关键字,以及以下关键字:
|
|
urlSchemeZeroPadding |
object |
<optional> |
获取每个瓦片坐标的 URL 方案零填充。格式为 '000',其中
每个坐标将在左侧用零填充,以匹配所传入零字符串的宽度。例如设置:
urlSchemeZeroPadding : { '{x}' : '0000' }
会使生成 URL 中的 {x} 在值为 12 时返回字符串 '0012'。
该传入对象包含以下关键字:
|
|
subdomains |
string | Array.<string> |
<optional> |
'abc' | 用于 URL 模板中 {s} 占位符的子域。
如果该参数是单个字符串,则字符串中的每个字符都是一个子域。如果它是
一个数组,则数组中的每个元素都是一个子域。 |
credit |
Credit | string |
<optional> |
'' | 数据源的 credit,显示在画布上。 |
minimumLevel |
number |
<optional> |
0 | 影像提供者支持的最小细节层级。指定此值时请注意,最小层级处的瓦片数量应较小,例如四个或更少。数量过大会 可能导致渲染问题。 |
maximumLevel |
number |
<optional> |
影像提供者支持的最大细节层级,如果没有限制则为 undefined。 | |
rectangle |
Rectangle |
<optional> |
Rectangle.MAX_VALUE | 影像所覆盖的矩形范围(以弧度为单位)。 |
tilingScheme |
TilingScheme |
<optional> |
WebMercatorTilingScheme | 指定椭球表面如何被划分为瓦片的瓦片方案。如果未提供此参数,则使用 WebMercatorTilingScheme。 |
ellipsoid |
Ellipsoid |
<optional> |
椭球体。如果指定了 tilingScheme, 则忽略此参数,改用瓦片方案的椭球体。如果两个参数都未指定,则使用 WGS84 椭球体。 | |
tileWidth |
number |
<optional> |
256 | 影像瓦片的像素宽度。 |
tileHeight |
number |
<optional> |
256 | 影像瓦片的像素高度。 |
hasAlphaChannel |
boolean |
<optional> |
true | 如果此影像提供者提供的影像包含 alpha 通道则为 true,否则为 false。如果此属性为 false,则 alpha 通道(如果存在)将被忽略。如果此属性为 true,则任何没有 alpha 通道的影像将被视为其 alpha 处处为 1.0。当此属性为 false 时,内存占用和纹理上传时间都可能减少。 |
getFeatureInfoFormats |
Array.<GetFeatureInfoFormat> |
<optional> |
调用 UrlTemplateImageryProvider#pickFeatures 时在指定位置获取地物信息的格式。如果未指定此参数,则禁用地物拾取。 |
|
enablePickFeatures |
boolean |
<optional> |
true | 如果为 true,UrlTemplateImageryProvider#pickFeatures 将
请求 pickFeaturesUrl 并尝试解析响应中包含的地物。如果为 false,
UrlTemplateImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的
地物),而不与服务器通信。如果您知道数据源不支持地物拾取,或者您不希望此提供者的地物可被拾取,请将此属性设为 false。注意
这可以通过修改 UriTemplateImageryProvider#enablePickFeatures 属性来动态覆盖。 |
tileDiscardPolicy |
TileDiscardPolicy |
<optional> |
根据某些条件丢弃瓦片影像的策略。 | |
customTags |
object |
<optional> |
允许替换 URL 模板中的自定义关键字。该对象必须以字符串作为键、以函数作为值。 |
