UrlTemplateImageryProvider

通过使用指定的URL模板请求平铺来提供图像。
new UrlTemplateImageryProvider(options)
Parameters:
options ((Promise.<Object> | Object))
Name Description
options.url
(Resource | 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}:每个瓦片的高度以像素为单位。
options.pickFeaturesUrl
(Resource | String)
用于选择功能的URL模板。如果未指定此属性,则UrlTemplateImageryProvider#pickFeatures将立即返回undefined,表示未选择任何特征。 URL模板支持url参数支持的所有关键字以及以下各项:
  • {i}:所选位置的像素列(水平坐标),其中最西端的像素为0。
  • {j}:选取位置的像素行(垂直坐标),其中最北端的像素为0。
  • {reverseI}:选取位置的像素列(水平坐标),其中最东端的像素为0。
  • {reverseJ}:拾取位置的像素行(垂直坐标),其中最南端的像素为0。
  • {longitudeDegrees}:该像素的经度
  • {latitudeDegrees}:拾取位置的纬度,以度为单位。
  • {longitudeProjected}:拾取位置在切片方案的投影坐标中的经度。
  • {latitudeProjected}:在切片方案的投影坐标中所拾取位置的纬度。
  • {format}:获取要素信息的格式,如GetFeatureInfoFormat
options.urlSchemeZeroPadding
Object
获取每个瓦片坐标的URL方案零填充。 格式为'000',其中每个坐标将在左侧填充零以匹配传递的零字符串的宽度。 例如 设置:urlSchemeZeroPadding:{'{x}':'0000'}将使'x'值为12,以在生成的URL中返回{x}的字符串'0012'。 如果传递的对象具有以下关键字:
  • {z}:在切片方案中用于切片级别的零填充。
  • {x}:用于切片X的零填充
  • {y}:在切片方案中平铺Y坐标的零填充。
  • {reverseX}:在切片方案中平铺Y坐标的零填充。
  • {reverseY}:平铺方案中瓦片反向Y坐标的零填充。
  • {reverseZ}:平铺方案中瓦片的反向Z坐标的零填充 。
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'
       }
   }
});
See:

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在图像提供者准备就绪之前不得调用。
pickFeatures(x, y, level, longitude, latitude) → {Promise.<Array.<ImageryLayerFeatureInfo>>|undefined}
异步地确定瓦片中给定经度和纬度的哪些特性(如果有的话)。在ImageryProvider#ready返回true之前,不应调用此函数。
Parameters:
x (Number) 瓦片X坐标。
y (Number) 瓦片Y坐标。
level (Number) 瓦片级别。
longitude (Number) 选择特征的经度。
latitude (Number) 选择特征的纬度。
reinitialize(options)
重新初始化此实例。支持重新初始化已在使用的实例,但不建议这样做,因为图像提供程序提供的现有平铺将不会更新。
Parameters:
options ((Promise.<Object> | Object)) 传递给UrlTemplateImageryProvider构造函数的任何选项。
requestImage(x, y, level, request) → {Promise.<(Image|Canvas)>|undefined}
请求给定瓦片的图像。在UrlTemplateImageryProvider#ready返回true之前,不应调用此函数。
Parameters:
x (Number) 瓦片X坐标。
y (Number) 瓦片Y坐标。
level (Number) 瓦片级别。
request (Request) 请求对象。仅供内部使用。