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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。