通过使用指定的URL模板请求平铺来提供图像。
new UrlTemplateImageryProvider(options)
Parameters:
options
((Promise.<Object> | Object))
Name | Description |
---|---|
options.url
(Resource | String)
|
用于请求瓦片的URL模板。它具有以下关键字:
|
options.pickFeaturesUrl
(Resource | String)
|
用于选择功能的URL模板。如果未指定此属性,则UrlTemplateImageryProvider#pickFeatures 将立即返回undefined,表示未选择任何特征。 URL模板支持url 参数支持的所有关键字以及以下各项:
|
options.urlSchemeZeroPadding
Object
|
获取每个瓦片坐标的URL方案零填充。 格式为'000',其中每个坐标将在左侧填充零以匹配传递的零字符串的宽度。 例如 设置:urlSchemeZeroPadding:{'{x}':'0000'}将使'x'值为12,以在生成的URL中返回{x}的字符串'0012'。 如果传递的对象具有以下关键字:
|
options.subdomains
(String | Array.<String>)
default 'abc'
|
用于URL模板中{s} 占位符的子域。如果此参数是单个字符串,则字符串中的每个字符都是子域。如果是数组,则数组中的每个元素都是子域。
|
options.credit
(Credit | String)
default ''
|
数据源的信用,显示在画布上。 |
options.minimumLevel
Number
default 0
|
图像提供商支持的最低详细程度。在指定此选项时,请注意最低级别的瓦片数量很小,例如四个或更少。较大的数字可能会导致渲染问题。 |
options.maximumLevel
Number
|
图像提供者支持的最大细节级别,如果没有限制,则未定义。 |
options.rectangle
Rectangle
default Rectangle.MAX_VALUE
|
图像覆盖的以弧度表示的矩形。 |
options.tilingScheme
TilingScheme
default WebMercatorTilingScheme
|
指定如何将椭圆面分割为瓦片的切片方案。如果未提供此参数,则使用WebMercatorTilingScheme 。
|
options.ellipsoid
Ellipsoid
|
椭球体。如果指定了平铺切片方案,则忽略此参数,而使用切片方案的椭球体。如果未指定任何参数,则使用wgs84椭球体。 |
options.tileWidth
Number
default 256
|
图像块的像素宽度。 |
options.tileHeight
Number
default 256
|
图像块的像素高度。 |
options.hasAlphaChannel
Boolean
default true
|
如果此图像提供商提供的图像包含alpha通道,则为true;否则为false。如果此属性为假,则忽略alpha通道(如果存在)。如果此属性为真,则任何没有alpha通道的图像都将被视为其alpha在任何地方都是1.0。当该属性为假时,内存使用和纹理上载时间可能会减少。 |
options.getFeatureInfoFormats
Array.<GetFeatureInfoFormat>
|
调用UrlTemplateImageryProvider#pickFeatures 时在特定位置获取功能信息的格式。如果未指定此参数,则禁用特征拾取。
|
options.enablePickFeatures
Boolean
default true
|
如果为真,UrlTemplateImageryProvider#pickFeatures 将请求options.pickFeaturesUrl 并尝试解释响应中包含的功能。如果为false,UrlTemplateImageryProvider#pickFeatures 将立即返回未定义(表示没有可选择的功能),而不与服务器通信。如果知道数据源不支持选取功能,或者不希望此提供程序的功能可选取,请将此属性设置为false。请注意,可以通过修改UriTemplateImageryProvider#enablePickFeatures 属性来动态覆盖此属性。
|
options.customTags
Object
|
允许替换URL模板中的自定义关键字。对象必须具有作为键的字符串和作为值的函数。 |
Example
// Access Natural Earth II imagery, which uses a TMS tiling scheme and Geographic (EPSG:4326) project
var tms = new bmgl.UrlTemplateImageryProvider({
url : bmgl.buildModuleUrl('Assets/Textures/NaturalEarthII') + '/{z}/{x}/{reverseY}.jpg',
credit : '© Analytical Graphics, Inc.',
tilingScheme : new bmgl.GeographicTilingScheme(),
maximumLevel : 5
});
// Access the CartoDB Positron basemap, which uses an OpenStreetMap-like tiling scheme.
var positron = new bmgl.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 bmgl.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 : bmgl.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
});
// Using custom tags in your template url.
var custom = new bmgl.UrlTemplateImageryProvider({
url : 'https://yoururl/{Time}/{z}/{y}/{x}.png',
customTags : {
Time: function(imageryProvider, x, y, level) {
return '20171231'
}
}
});
Members
(readonly) credit : Credit
获取此图像提供程序处于活动状态时要显示的信用。通常情况下,这是用来赞扬图像的来源。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
undefined
enablePickFeatures : Boolean
获取或设置一个值,该值指示是否启用功能选取。如果为真,
UrlTemplateImageryProvider#pickFeatures
将请求options.pickFeaturesUrl
并尝试解释响应中包含的功能。如果为false,UrlTemplateImageryProvider#pickFeatures
将立即返回未定义(表示没有可选择的功能),而不与服务器通信。如果知道数据源不支持选取功能,或者不希望此提供程序的功能可选取,请将此属性设置为false。
-
Default Value:
true
(readonly) errorEvent : Event
获取图像提供程序遇到异步错误时引发的事件。通过订阅事件,您将收到错误通知,并可能从中恢复。向事件侦听器传递
TileProviderError
的实例。
(readonly) hasAlphaChannel : Boolean
获取一个值,该值指示此图像提供程序提供的图像是否包含alpha通道。如果此属性为假,则忽略alpha通道(如果存在)。如果此属性为真,则任何没有alpha通道的图像都将被视为其alpha在任何地方都是1.0。如果该属性为假,则会减少内存使用和纹理上载时间。在
ImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
true
(readonly) maximumLevel : Number
获取可以请求的最大详细级别,如果没有限制,则获取未定义的详细级别。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
undefined
(readonly) minimumLevel : Number
获取可以请求的最低详细级别。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
0
(readonly) pickFeaturesUrl : String
获取用于选择功能的URL模板。如果未指定此属性,
UrlTemplateImageryProvider#pickFeatures
将立即返回Undefined,表示未选取任何功能。URL模板支持UrlTemplateImageryProvider#url
属性支持的所有关键字,加上以下内容:{i}
:所选位置的像素列(水平坐标),其中最西端的像素为0。{j}
:所选位置的像素行(垂直坐标),其中最北端的像素为0。{reverseI}
:拾取位置的像素列(水平坐标),其中最东端的像素为0。{reverseJ}
:拾取位置的像素行(垂直坐标),其中最南端的像素为0。{longitudeDegrees}
:拾取位置的经度(度)。{latitudeDegrees}
:拾取位置的纬度(度)。 {切片方案投影坐标中拾取位置的经度。{latitudeProjected}
:切片方案投影坐标中拾取位置的纬度。{format}
:获取特征信息的格式,如GetFeatureInfoFormat
中所述。
(readonly) proxy : Proxy
获取此提供程序使用的代理。
-
Default Value:
undefined
(readonly) ready : Boolean
获取一个值,该值指示提供程序是否准备好使用。
(readonly) readyPromise : Promise.<Boolean>
获取当提供程序准备好使用时解析为true的承诺。
(readonly) rectangle : Rectangle
获取此实例提供的图像的矩形(以弧度表示)。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
tilingScheme.rectangle
(readonly) tileDiscardPolicy : TileDiscardPolicy
获取瓦片丢弃策略。如果未定义,则丢弃策略负责通过其shouldDiscardimage函数过滤掉“丢失”的瓦片。如果此函数返回UNdefined,则不会筛选任何瓦片。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
undefined
(readonly) tileHeight : Number
获取每个瓦片的高度(像素)。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
256
(readonly) tileWidth : Number
获取每个瓦片的宽度(像素)。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
256
(readonly) tilingScheme : TilingScheme
获取此提供程序使用的切片方案。切片方案。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。
-
Default Value:
new WebMercatorTilingScheme()
(readonly) url : String
获取用于请求瓦片的URL模板。它具有以下关键字:
-
{z}
:在切片方案中切片的级别。零级是四叉树金字塔的根。 -
{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}
:每个瓦片的高度以像素为单位。
(readonly) urlSchemeZeroPadding : Object
获取每个瓦片坐标的URL方案零填充。 格式为'000',其中每个坐标将在左侧填充零以匹配传递的零字符串的宽度。 例如 设置:urlSchemeZeroPadding:{'{x}':'0000'}将使'x'值为12,以在生成的URL中返回{x}的字符串'0012'。 如果传递的对象具有以下关键字:
-
{z}
:在切片方案中用于切片级别的零填充。 -
{x}
:用于切片X的零填充 -
{y}
:在切片方案中平铺Y坐标的零填充。 -
{reverseX}
:在切片方案中平铺Y坐标的零填充。 -
{reverseY}
:平铺方案中瓦片反向Y坐标的零填充。 -
{reverseZ}
:平铺方案中瓦片的反向Z坐标的零填充 。
Methods
getTileCredits(x, y, level) → {Array.<Credit>}
获取显示给定瓦片时要显示的片尾。
Parameters:
x
(Number)
瓦片X坐标。
y
(Number)
瓦片Y坐标。
level
(Number)
瓦片级别;
Throws
-
DeveloperError :
getTileCredits
在图像提供者准备就绪之前不得调用。
异步地确定瓦片中给定经度和纬度的哪些特性(如果有的话)。在
ImageryProvider#ready
返回true之前,不应调用此函数。
Parameters:
x
(Number)
瓦片X坐标。
y
(Number)
瓦片Y坐标。
level
(Number)
瓦片级别。
longitude
(Number)
选择特征的经度。
latitude
(Number)
选择特征的纬度。
重新初始化此实例。支持重新初始化已在使用的实例,但不建议这样做,因为图像提供程序提供的现有平铺将不会更新。
Parameters:
请求给定瓦片的图像。在
UrlTemplateImageryProvider#ready
返回true之前,不应调用此函数。