當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS FeatureLayer.datesInUnknownTimezone用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

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

類: esri/layers/FeatureLayer

繼承: FeatureLayer > Layer > Accessor

自從:用於 JavaScript 4.0 的 ArcGIS API

用法說明

FeatureLayer.datesInUnknownTimezone函數(或屬性)的定義如下:

datesInUnknownTimezone Boolean readonly


自從:ArcGIS 適用於 JavaScript 4.21 的 API

此屬性由服務發布者設置,指示應在沒有本地時區的情況下考慮日期。這適用於請求和響應。

已知限製

  • 此函數僅適用於使用 ArcGIS Enterprise 10.9 或更高版本發布的服務。
  • 如果 datesInUnknownTimezone 為 true,則 FeatureLayers 不支持編輯。 editEnabled 屬性將設置為 false
  • 標簽和基於 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大神的英文原創作品 FeatureLayer.datesInUnknownTimezone。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。