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


JavaScript ArcGIS MapImageLayer.datesInUnknownTimezone用法及代码示例


基本信息

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

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

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

类: esri/layers/MapImageLayer

继承: MapImageLayer > Layer > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

MapImageLayer.datesInUnknownTimezone函数(或属性)的定义如下:

datesInUnknownTimezone Boolean readonly


自从:ArcGIS 适用于 JavaScript 4.21 的 API

此属性由服务发布者设置,指示应在没有本地时区的情况下考虑日期。这适用于请求和响应。

已知限制

  • 此函数仅适用于使用 ArcGIS Enterprise 10.9 或更高版本发布的服务。
  • 标签和基于 Arcade 的 popupTemplates 不支持此属性。日期将以当地时区显示。
  • queryfilter 或图层中设置 timeExtent 时,必须按照 UTC 定义日期,如下面的代码所示。
  • layer.timeInfo.fullTimeExtentTimeSlider 结合使用时,必须删除本地时区偏移量。请参阅下面的代码片段。

默认值:false

例子:

// Only download data for the year 2020.
// if the layer supports unknown time zone then create
// the dates in UTC
if (layer.datesInUnknownTimezone) {
  layer.timeExtent = new TimeExtent({
    start: new Date(Date.UTC(2020, 0, 1)),
    end: new Date(Date.UTC(2021, 0, 1))
  });
}
else {
  layer.timeExtent = new TimeExtent({
    start: new Date(2020, 0, 1),
    end: new Date(2021, 0, 1)
  });
}
// set up the timeslider for a service with an unknown timezone
if (layer.datesInUnknownTimezone) {
  const timeSlider = new TimeSlider({
    view: view,
    container: "timeSliderDiv",
    timeVisible: true,
  });
  view.ui.add(timeSlider, "bottom-left");

  view.whenLayerView(layer).then((layerView) => {
   // get the layer's fullTimeExtent and remove the local
   // time zone offset
    const timExtent = new TimeExtent({
      start: removeLocalOffset(layer.timeInfo.fullTimeExtent.start),
      end: removeLocalOffset(layer.timeInfo.fullTimeExtent.end)
    });

    timeSlider.fullTimeExtent = timExtent;
    timeSlider.stops = {
      interval: layer.timeInfo.interval;
    };
  });
}

// Remove the local time zone offset from dates
function removeLocalOffset(localTime) {
  return new Date(
    localTime.getUTCFullYear(),
    localTime.getUTCMonth(),
    localTime.getUTCDate(),
    localTime.getUTCHours(),
    localTime.getUTCMinutes(),
    localTime.getUTCSeconds(),
    localTime.getUTCMilliseconds()
  );
}

相关用法


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