new Cesium.UrlTemplateImageryProvider(options)
通过使用指定的URL模板请求瓦片来提供图像。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Promise.<Object> | Object |
optional
此对象拥有以下属性:
|
示例:
// 获取使用TMS切片方案和地理(EPSG:4326)项目的Natural Earth II影像
var tms = new Cesium.UrlTemplateImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') + '/{z}/{x}/{reverseY}.jpg',
credit : '© Analytical Graphics, Inc.',
tilingScheme : new Cesium.GeographicTilingScheme(),
maximumLevel : 5
});
// 访问CartoDB Positron底图,该底图使用类似OpenStreetMap的切片方案。
var 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.'
});
// 访问Web地图服务(WMS)服务器。
var wms = new Cesium.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 : Cesium.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
});
// 在模板网址中使用自定义标记。
var custom = new Cesium.UrlTemplateImageryProvider({
url : 'https://yoururl/{Time}/{z}/{y}/{x}.png',
customTags : {
Time: function(imageryProvider, x, y, level) {
return '20171231'
}
}
});
参考:
成员变量
获取版权信息。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
undefined
enablePickFeatures : Boolean
获取或设置一个值,该值指示是否启用要素拾取。
如果为true,
UrlTemplateImageryProvider#pickFeatures
将请求options.pickFeaturesUrl
,并尝试解释响应中包含的要素。
如果为false, UrlTemplateImageryProvider#pickFeatures
将立即返回undefined(指示没有可拾取的要素),而不与服务器通信。
如果您知道您的数据源不支持拾取要素,或者您不希望提供者的要素可拾取,则将此属性设置为false。
-
Default Value:
true
获取此提供器遇到异步错误时触发的事件。
通过订阅事件,您将收到错误通知,并可能从中恢复。事件监听器传递一个
TileProviderError
的实例。
获取影像是否有Alpha通道。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
true
获取可以请求的最大级别,如果没有限制,则为未定义。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
undefined
获取可以请求的最小级别。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
0
获取用于选择要素的URL模板。如果未指定此属性,则
UrlTemplateImageryProvider#pickFeatures
将立即返回undefined,
表示未选择任何要素。URL模板支持UrlTemplateImageryProvider#url
属性支持的所有关键字,以及以下内容:
{i}
: 拾取位置的像素列(水平坐标),其中最西端的像素为0{j}
: 拾取位置的像素行(垂直坐标),其中最北端的像素为0{reverseI}
: 拾取位置的像素列(水平坐标),其中最东端的像素为0{reverseJ}
: 拾取位置的像素行(垂直坐标),其中最南端的像素为0{longitudeDegrees}
: 所选位置的经度(以度为单位){latitudeDegrees}
: 所选位置的纬度(以度为单位){longitudeProjected}
: 切片方案投影坐标中拾取位置的经度{latitudeProjected}
: 切片方案投影坐标中拾取位置的纬度{format}
:GetFeatureInfoFormat
中指定的获取要素信息的格式
获取此提供器使用的代理。
-
Default Value:
undefined
获取一个值,该值指示提供器是否已准备好使用。
获取一个在提供器准备好使用时解析为true的Promise。
地图矩形范围。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
tilingScheme.rectangle
获取瓦片忽略策略。如果未定义,则忽略策略负责通过其shouldDiscardImage函数过滤掉“丢失”的瓦片。
如果此函数返回未定义,则不过滤任何切片。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
undefined
获取每个瓦片的高度(以像素为单位)。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
256
获取每个瓦片的宽度(以像素为单位)。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
256
获取切片方案。
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
new WebMercatorTilingScheme()
获取用于请求切片的URL模板。 它具有以下关键字:
-
{z}
: 级别 -
{x}
: 瓦片X坐标 -
{y}
: 瓦片X坐标 -
{s}
: 可用的子域之一,用于克服浏览器对每个主机的并发请求数的限制 -
{reverseX}
: 瓦片X坐标 -
{reverseY}
: 瓦片X坐标 -
{reverseZ}
: 级别 -
{westDegrees}
: 最小经度 -
{southDegrees}
: 最小纬度 -
{eastDegrees}
: 最大经度 -
{northDegrees}
: 最大纬度 -
{westProjected}
: 切片方案的投影坐标系下的最小X坐标 -
{southProjected}
: 切片方案的投影坐标系下的最小Y坐标 -
{eastProjected}
: 切片方案的投影坐标系下的最大X坐标 -
{northProjected}
: 切片方案的投影坐标系下的最大Y坐标 -
{width}
: 瓦片宽 -
{height}
: 瓦片高
获取每个瓦片坐标的URL方案零填充。
格式为'000',其中每个坐标将在左侧填充0,以匹配传递的0字符串的宽度。例如,设置:
urlSchemeZeroPadding : { '{x}' : '0000'},将导致一个'x'值12返回字符串'0012'为{x}在生成的URL。
它传递的对象有以下关键字:
-
{z}
: 在切片方案中瓦片级别的零填充 -
{x}
: 在切片方案中瓦片X坐标的零填充 -
{y}
: 在切片方案中瓦片Y坐标的零填充 -
{reverseX}
: 在切片方案中,瓦片的反转X坐标的零填充 -
{reverseY}
: 在切片方案中,瓦片的反转Y坐标的零填充 -
{reverseZ}
: 在切片方案中,瓦片的反转Z坐标的零填充
内置方法
获取当请求的瓦片被显示出来时,要显示的版权信息。
Name | Type | Description |
---|---|---|
x |
Number | 瓦片的X坐标。 |
y |
Number | 瓦片的Y坐标。 |
level |
Number | 瓦片的层级。 |
返回值:
返回的版权信息。
异常情况:
-
DeveloperError : 在图像提供器准备就绪之前,不得调用
getTileCredits
。
pickFeatures(x, y, level, longitude, latitude) → Promise.<Array.<ImageryLayerFeatureInfo>>|undefined
异步地确定哪些要素(如果有的话)位于瓦片中给定的经度和纬度。
在
ImageryProvider#ready
返回true之前,不应该调用此函数。
这个函数是可选的,所以它可能不存在于所有的ImageryProviders上。
Name | Type | Description |
---|---|---|
x |
Number | 瓦片的X坐标。 |
y |
Number | 瓦片的Y坐标。 |
level |
Number | 瓦片的级别。 |
longitude |
Number | 拾取要素的经度。 |
latitude |
Number | 拾取要素的纬度。 |
返回值:
对所选要素的promise,它将在异步拾取完成时解析。
解析后的值是
ImageryLayerFeatureInfo
实例的数组。如果在给定位置没有发现任何要素,则该数组可能为空。
如果不支持拾取,它也可能是未定义的。
异常情况:
-
DeveloperError :
pickFeatures
在图像提供器准备好之前不能被调用。
reinitialize(options)
重新初始化该实例。支持重新初始化已经在使用的实例,但是不建议您重新使用,因为图像提供器提供的现有切片将不会更新。
Name | Type | Description |
---|---|---|
options |
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 |
optional Request对象(仅供内部使用)。 |
返回值:
返回值有以下3种情况:
1.当图像可用时,返回对图像的Promise。
2.如果有太多对服务器的活动请求,则返回未定义图像,并且应该稍后重新请求。
3.解析后的图像可以是图像,也可以是画布DOM对象。