popupUtils

AMD: require(["geoscene/support/popupUtils"], (popupUtils) => { /* code goes here */ });
ESM: import * as popupUtils from "@geoscene/core/support/popupUtils";
类: geoscene/support/popupUtils
起始版本:GeoScene Maps SDK for JavaScript 4.16

使用 Popup 微件功能的各种实用程序。

方法概述

名称 返回值类值 描述 对象
FieldInfo[]

创建用于填充 FieldsContentfieldInfo 数组。

更多详情
popupUtils
FieldsContent

创建用于填充 PopupTemplatefields 内容。

更多详情
popupUtils
PopupTemplate

根据指定的 config 信息创建弹出模板。

更多详情
popupUtils
PopupTemplate

创建用于 FeatureReductionBinningFeatureReductionCluster 可视化的默认弹出模板。

更多详情
popupUtils

方法详细说明

createFieldInfos(config, options){FieldInfo[]}

创建用于填充 FieldsContentfieldInfo 数组。

参数

包含用于创建 fieldInfo 的属性的配置对象。

optional

创建 PopupTemplate 的选项。

返回
类型 描述
FieldInfo[] 用于填充 FieldsContentFieldInfo 内容数组,该字段内容又可用于填充 PopupTemplate。默认情况下,不显示系统字段,例如 Shape__AreaShape__LengthOID 等。
示例
// Sets the configuration for the popup template.
// Each object in this array is autocast as an instance of geoscene/layers/support/Field
const fields = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

// This sets the options to ignore all fields of "date" type and sets two visible fields
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};

// Set the FieldInfo
const fieldsConfig = {fields: fields};

// Create the FieldInfos
const fieldInfos = popupUtils.createFieldInfos(fieldsConfig, templateOptions);

// Sets the FieldsContent
const fieldsContent = new FieldsContent({
  fieldInfos: fieldInfos
});

// Create the template and pass in the fields content
const template = {
  title: "County Land",
  outFields: ["*"],
  content: [fieldsContent]
  };

// Set the feature layer's popup template
featureLayer.popupTemplate = template;
createFieldsContent(config, options){FieldsContent}

创建用于填充 PopupTemplatefields 内容。

参数

包含用于创建 FieldsContent 的属性的配置对象。

optional

创建 PopupTemplate 的选项。

返回
类型 描述
FieldsContent 用于填充 PopupTemplatefields 内容。此内容包含一组 FieldInfo
示例
// Sets the configuration for the popup template.
// Each object in this array is autocast as an instance of geoscene/layers/support/Field
const fields = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

// This sets the options to ignore all fields of "date" type and sets two visible fields
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};

// Set the FieldInfo
const fieldsConfig = {fields: fields};

// Create the Fields Content
const fieldsContent = popupUtils.createFieldsContent(fieldsConfig, templateOptions);

// Create the template and pass in the fields content
const template = {
  title: "County Land",
  outFields: ["*"],
  content: [fieldsContent]
  };

// Set the feature layer's popup template
featureLayer.popupTemplate = template;
createPopupTemplate(config, options){PopupTemplate}

根据指定的 config 信息创建弹出模板。

参数
config Config

包含用于创建 PopupTemplate 的属性的配置对象。

optional

创建 PopupTemplate 的选项。

返回
类型 描述
PopupTemplate 弹出模板,或如果未设置字段,则为 null
示例
// Sets the configuration for the popup template.
// Each object in this array is autocast as an instance of geoscene/layers/support/Field
const fields = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

const config = {
  displayField: "County",
  fields: fields,
  title: "County land"
};

// This sets the options to ignore all fields of "date" type and sets two visible fields
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};

const template = popupUtils.createPopupTemplate(config, templateOptions);
featureLayer.popupTemplate = template;
createPopupTemplateForFeatureReduction(params){PopupTemplate}
起始版本:GeoScene Maps SDK for JavaScript 4.25

创建用于 FeatureReductionBinningFeatureReductionCluster 可视化的默认弹出模板。模板将包含在图层的 featureReduction 属性中定义的所有聚合字段的列表。

参数
规范
params Object

用于创建要素缩减弹出模板的参数。

规范

要为其创建默认弹出模板的 FeatureReduction 对象。

fields Field[]
optional

在要素缩减过程中聚合的图层字段。这些字段应与提供给此函数的要素缩减实例的聚合字段定义中使用的任何字段相对应。

title String
optional

要在弹出模板中显示的标题。

返回
类型 描述
PopupTemplate 弹出模板,如果未在要素缩减对象上设置 AggregateFields,则为 null
示例
const popupTemplate = popupUtils.createPopupTemplateForFeatureReduction(layer);
layer.featureReduction.popupTemplate = popupTemplate;

类型定义

配置

包含用于创建 PopupTemplate 的属性的配置对象。

属性
displayField String
optional

显示字段。

title String

PopupTemplate 的标题。

editFieldsInfo EditFieldsInfo
optional

该字段可记录在要素服务中添加或编辑数据的人员以及进行编辑的时间。

fields Field[]

PopupTemplate 中显示的字段。

objectIdField String
optional

对象 id 字段。

示例
// Sets the configuration for the popup template.
// Each object in this array is autocast as an instance of geoscene/layers/support/Field
const fields = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

const config = {
  displayField: "County",
  fields: fields,
  title: "County land"
};
CreatePopupTemplateOptions

创建 PopupTemplate 的选项。

属性
ignoreFieldTypes String[]
optional

创建弹出窗口时要忽略的字段类型数组。除了 geometryblobrasterguidxml 字段类型之外,系统字段 ( Shape_AreaShape_length) 也会自动忽略。

visibleFieldNames Set<string>
optional

PopupTemplate 中设置为可见的字段名称数组。

示例
// This sets the options to ignore all fields of "date" type and sets two visible fields
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};
FieldInfosConfig

包含用于创建 PopupTemplateFieldsContent 的字段属性的配置对象。

属性
editFieldsInfo EditFieldsInfo
optional

该字段可记录在要素服务中添加或编辑数据的人员以及进行编辑的时间。

fields Field[]

PopupTemplate 中显示的字段。

objectIdField String
optional

对象 id 字段。

示例
// Sets the configuration for the popup template.
// Each object in this array is autocast as an instance of geoscene/layers/support/Field
const fieldsConfig = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息