-
fetchTile
(level, row, col, options)
{Promise<(HTMLImageElement|HTMLCanvasElement)>}
此方法获取视图中存在的给定级别、行和列的图块。如果从服务器返回的数据或图像需要经过处理才能显示,则覆盖此方法。
参数:
类型 说明 level Number要获取的图块的详细程度。该值由 LayerView 提供。
row Number瓦片提取的行 (y) 位置。该值由 LayerView 提供。
col Number要获取的图块的列 (x) 位置。该值由 LayerView 提供。
options Object可选的 磁贴请求的可选设置。这些选项具有以下属性。
规格:signal可选的 AbortSignal 用于中止请求。覆盖 fetchTile 时,应处理
signal
,例如将其传递给 request 或中止挂起的操作。对 fetchTile 的中止调用应该使用 Error 的实例拒绝其返回的承诺。返回:
类型 说明 Promise<(HTMLImageElement|HTMLCanvasElement)> 返回解析为 HTMLImageElement 或 HTMLCanvasElement 的承诺。 例子:
// Process the image returned from the server before // it is displayed. fetchTile: function (level, row, col, options) { // call getTileUrl method to construct the URL for // the image for the given level, row and col let url = this.getTileUrl(level, row, col); // request for the tile based on the generated url. // the signal option ensures that obsolete requests are aborted. return esriRequest(url, { responseType: "image", signal: options && options.signal }) .then(function (response) { // get the image from the response let image = response.data; let width = this.tileInfo.size[0]; let height = this.tileInfo.size[0]; let canvas = document.createElement("canvas"); canvas.width = width; canvas.height = height; let context = canvas.getContext("2d"); // tint is a custom property of this layer // Apply the tint color provided by the application // to the canvas if (this.tint) { context.fillStyle = this.tint.toCss(); context.fillRect(0, 0, width, height); // The pixels of the top layer are multiplied by the corresponding // pixel of the bottom layer. A darker picture is the result. context.globalCompositeOperation = "multiply"; } context.drawImage(image, 0, 0, width, height); return canvas; }.bind(this)); }
基本信息
以下是所在类或对象的基本信息。
AMD:
require(["esri/layers/BaseTileLayer"], (BaseTileLayer) => { /* code goes here */ });
ESM:
import BaseTileLayer from "@arcgis/core/layers/BaseTileLayer";
类:
esri/layers/BaseTileLayer
继承: BaseTileLayer > Layer > Accessor
子类: BingMapsLayer
自从:用于 JavaScript 4.4 的 ArcGIS API
用法说明
BaseTileLayer.fetchTile
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS BaseTileLayer.fullExtent用法及代码示例
- JavaScript ArcGIS BaseTileLayer.maxScale用法及代码示例
- JavaScript ArcGIS BaseTileLayer.effect用法及代码示例
- JavaScript ArcGIS BaseTileLayer.addResolvingPromise用法及代码示例
- JavaScript ArcGIS BaseTileLayer.on用法及代码示例
- JavaScript ArcGIS BaseTileLayer.getTileUrl用法及代码示例
- JavaScript ArcGIS BaseTileLayer.when用法及代码示例
- JavaScript ArcGIS BaseTileLayer.minScale用法及代码示例
- JavaScript ArcGIS BaseTileLayer.refreshInterval用法及代码示例
- JavaScript ArcGIS BaseTileLayer.opacity用法及代码示例
- JavaScript ArcGIS BaseTileLayer.visible用法及代码示例
- JavaScript ArcGIS BaseTileLayer layerview-create事件用法及代码示例
- JavaScript ArcGIS BaseTileLayer refresh事件用法及代码示例
- JavaScript ArcGIS BaseTileLayer layerview-create-error事件用法及代码示例
- JavaScript ArcGIS BaseTileLayer用法及代码示例
- JavaScript ArcGIS BaseLayerViewGL2D.render用法及代码示例
- JavaScript ArcGIS BaseElevationLayer.when用法及代码示例
- JavaScript ArcGIS BasemapGallery.visible用法及代码示例
- JavaScript ArcGIS BaseElevationLayer.addResolvingPromise用法及代码示例
- JavaScript ArcGIS BaseLayerViewGL2D.requestRender用法及代码示例
- JavaScript ArcGIS Basemap.fromId用法及代码示例
- JavaScript ArcGIS BaseDynamicLayer layerview-create事件用法及代码示例
- JavaScript ArcGIS BasemapToggle.visibleElements用法及代码示例
- JavaScript ArcGIS BaseElevationLayer layerview-create事件用法及代码示例
- JavaScript ArcGIS BasemapLayerList.headingLevel用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 BaseTileLayer.fetchTile。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。