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


JavaScript ArcGIS GeoJSONLayer.orderBy用法及代碼示例


基本信息

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

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

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

類: esri/layers/GeoJSONLayer

繼承: GeoJSONLayer > Layer > Accessor

自從:用於 JavaScript 4.11 的 ArcGIS API

用法說明

GeoJSONLayer.orderBy函數(或屬性)的定義如下:

orderBy Object[]


自從:ArcGIS 適用於 JavaScript 4.21 的 API

確定在視圖中繪製要素的順序。您可以按字段值或從 Arcade 表達式返回的值按升序或降序對要素進行排序。

null(默認)時,將按照從服務或客戶端返回的順序繪製特征。

已知限製

  • 此屬性僅控製 MapView 中的特征繪製順序。不支持在SceneView 中配置特征繪製順序。
  • 該屬性不控製簇的繪製順序。它僅適用於單個函數。
  • 使用 Arcade 表達式定義的要素繪製順序配置不能將 saved 用於 web Map。
  • 目前,您隻能按一個字段或表達式對要素進行排序。

屬性:

類型說明
field String
可選的

其值將用於對要素進行排序的數字或日期字段。

valueExpression String
可選的

遵循 Arcade Feature Z Profile 定義的規範的 Arcade 表達式。表達式可以使用 $feature 全局變量引用字段值,並且必須返回表示用於對要素進行排序的 z-value 的數字或日期。

order String
可選的
默認值:上升

排序順序。如果 ascending ,則具有較小數據值的要素(它們通常在尺寸可視化中具有較小的符號)將繪製在具有較大數據值的要素之上。如果 descending ,則具有較大數據值的要素(通常在尺寸可視化中較大的符號)將繪製在具有較小數據值的要素之上。如果使用日期值,則 ascending 表示具有較舊值的要素將繪製在具有較新日期的要素之上。日期的descending 順序表示具有較新值的要素將繪製在具有較舊值的要素之上。

可能的值"ascending"|"descending"

默認值:null

例子:

// Features with smaller population values will
// be rendered on top of larger features.
layer.orderBy = [{
  field: "POPULATION"
}];
// Features with larger population values will
// be rendered on top of smaller features.
layer.orderBy = [{
  field: "POPULATION",
  order: "descending"
}];
// Orders features by date in descending order.
// The most recent features will be rendered
// on top of older features.
layer.orderBy = [{
  field: "Alarm_Date",
  order: "descending"
}];
// Orders features by storm warning duration in descending order.
// Warnings with longer durations
// be rendered on top of warnings with shorter durations.
layer.orderBy = [{
  valueExpression: "DateDiff($feature.Watch_End, $feature.Watch_Start, 'hours' )",
  order: "descending"
}];
// Orders features by data values used in a size visual variable
const sizeVariable = layer.renderer.visualVariables.find( vv => vv.type === "size");
const { field, valueExpression } = sizeVariable;
layer.orderBy = [{
  field,
  valueExpression,
  order: "ascending"
}];

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 GeoJSONLayer.orderBy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。