通過使用指定的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之前,不應調用此函數。