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


JavaScript ArcGIS BaseTileLayer refresh事件用法及代码示例


基本信息

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

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 refresh事件的定义如下:

refresh


自从:ArcGIS 适用于 JavaScript 4.21 的 API

如果图层设置了刷新间隔或调用 refresh() 方法时触发。事件负载指示图层数据是否已更改。

属性:
类型说明
dataChanged Boolean

指示图层的数据是否已更改。

例子:

// listen to layer's refresh event to fetch the attachments
// for the updated features.
layer.on("refresh", function(event){
  if (event.dataChanged){
    const query = layer.createQuery();
    layer.queryObjectIds(query).then(function (objectIds) {
      let attachmentQuery = {
        objectIds: objectIds,
        definitionExpression: layer.definitionExpression,
        attachmentTypes: ["image/jpeg"]
      };
      layer.queryAttachments(attachmentQuery).then(function (attachments) {
        attachmentQuery.objectIds.forEach(function (objectId) {
          if (attachments[objectId]) {
            // process the updated attachments
            let attachment = attachments[objectId];
          }
        });
      })
      .catch(function (error) {
        console.log("attachment query error", error);
      });
    });
  }
});

相关用法


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