当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS BaseDynamicLayer.fetchImage用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/layers/BaseDynamicLayer"], (BaseDynamicLayer) => { /* code goes here */ });

ESM: import BaseDynamicLayer from "@arcgis/core/layers/BaseDynamicLayer";

类: esri/layers/BaseDynamicLayer

继承: BaseDynamicLayer > Layer > Accessor

自从:用于 JavaScript 4.4 的 ArcGIS API

用法说明

BaseDynamicLayer.fetchImage函数(或属性)的定义如下:

fetchImage (extent, width, height, options) {Promise<(HTMLImageElement|HTMLCanvasElement)>}


此方法获取指定范围和大小的图像。如果从服务器返回的数据需要经过处理才能显示,则覆盖此方法。例如,如果服务器返回二进制数据,则重写此方法以将二进制数据转换为图像。

参数:

类型说明
extent Extent

视图的范围。该值由 LayerView 提供。

width Number

视图的宽度(以像素为单位)。该值由 LayerView 提供。

height Number

视图的高度(以像素为单位)。该值由 LayerView 提供。

options Object
可选的

参数 options 是具有以下属性的对象。

规格:
signal

AbortSignal

可选的

AbortSignal 用于中止请求。如果取消,promise 将被拒绝,并出现名为 AbortError 的错误。另见AbortController

返回:

类型 说明
Promise<(HTMLImageElement|HTMLCanvasElement)> 返回解析为 HTMLImageElementHTMLCanvasElement 的承诺。

例子:

// Fetches images for given extent and size
fetchImage: function (extent, width, height){
  let url = this.getImageUrl(extent, width, height);

  // request for the image  based on the generated url
  return esriRequest(url, {
    responseType: "image"
  })
  .then(function(response) {
    let image = response.data;

    let canvas = document.createElement("canvas");
    let context = canvas.getContext("2d");
    canvas.width = width;
    canvas.height = height;

    // Apply destination-atop operation to the image returned from the server
    context.fillStyle = "rgb(0,200,200)";
    context.fillRect(0, 0, width, height);
    context.globalCompositeOperation = "destination-atop";
    context.drawImage(image, 0, 0, width, height);

    return canvas;
  }.bind(this));
}

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 BaseDynamicLayer.fetchImage。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。