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


JavaScript ArcGIS FeatureTemplates.GroupByFunction用法及代碼示例


基本信息

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

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

ESM: import FeatureTemplates from "@arcgis/core/widgets/FeatureTemplates";

類: esri/widgets/FeatureTemplates

繼承: FeatureTemplates > Widget > Accessor

自從:用於 JavaScript 4.10 的 ArcGIS API

用法說明

FeatureTemplates.GroupByFunction函數(或屬性)的定義如下:

GroupByFunction (grouping) {String|Object}


設置 groupBy 屬性時使用的函數。用於自定義 template items 的分組。這可以幫助管理各種模板項目以及它們在小部件中的顯示方式。這需要一個包含 templatelayer 屬性的對象。

參數:

規格:
類型說明
grouping Object

包含下麵引用的屬性的對象。

規格:
layer

FeatureLayer

層屬性中引用的 FeatureLayer 實例。

template

FeatureTemplate

FeatureTemplatelayer 相關聯。

返回:

類型 說明
String | Object 組由組 keylabel 組成。這些顯示在 UI 中。如果 keylabel 相同,則返回 string 。否則,返回帶有key/name 屬性的object。這可以更好地控製組。

例子:

// This example shows using a function to check if
// the layer title contains the word 'military'. If so,
// return a group of items called "All Military Templates"
function customGroup(grouping) {
  // Consolidate all military layers
  if (grouping.layer.title.toLowerCase().indexOf("military") > -1) {
    return "All Military Templates"
  }
// Otherwise, group by layer title
  return grouping.layer.title;
}

// Create the FeatureTemplates widget
templates = new FeatureTemplates({
  container: "templatesDiv",
  layers: layers,
  groupBy: customGroup
});
// Group template items by layers.
// This function is as same as setting
// the groupBy property to "layer" option.
function groupByLayer (grouping) {
  const group = {
    key: grouping.layer,
    name: grouping.layer.title
  };
  return group;
}

// Create the FeatureTemplates widget
const templates = new FeatureTemplates({
  container: "templatesDiv",
  layers: layers,
  groupBy: groupByLayer
});

相關用法


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