popupUtils

AMD: require(["geoscene/support/popupUtils"], (popupUtils) => { /* 代码 */ });
ESM: import * as popupUtils from "@geoscene/core/support/popupUtils";
对象: geoscene/support/popupUtils
起始版本: GeoScene API for JavaScript 4.22

用于使用“弹出窗口”微件功能的各种实用工具。

方法列表

名称 返回值类型 描述 对象
FieldInfo[]更多信息

创建用于填充 FieldsContentfieldInfo 数组。

更多信息popupUtils
FieldsContent更多信息

创建用于填充 PopupTemplate字段内容。

更多信息popupUtils
PopupTemplate更多信息

根据指定的配置信息创建弹出窗口模板。

更多信息popupUtils

方法详细说明

createFieldInfos(config, options){FieldInfo[]}

创建用于填充 FieldsContentfieldInfo 数组。

参数:

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

optional

用于创建 PopupTemplate 的选项。

返回值:
类型 描述
FieldInfo[] 一组FieldInfo内容,用于弹出 FieldsContent 的一组 FieldInfo 内容 ,反过来用于弹出PopupTemplate。默认情况下,不显示系统字段,例如 Shape__AreaShape__LengthOID 等。
示例代码:
// 设置弹出窗口模板的配置。
// 此数组中的每个对象都自动转换为 esri/layers/support/Field 的实例
const fields = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

// 这将设置选项以忽略所有“日期”类型的字段,并设置两个可见字段
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};

// 设置 FieldInfo
const fieldsConfig = {fields: fields};

// 创建 FieldInfos
const fieldInfos = popupUtils.createFieldInfos(fieldsConfig, templateOptions);

// 设置 FieldsContent
const fieldsContent = new FieldsContent({
  fieldInfos: fieldInfos
});

// 创建模板并传入内容字段
const template = {
  title: "County Land",
  outFields: ["*"],
  content: [fieldsContent]
  };

// 设置要素图层的弹出窗口模板
featureLayer.popupTemplate = template;
createFieldsContent(config, options){FieldsContent}

创建用于填充 PopupTemplatefields 内容。

参数:

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

optional

用于创建 PopupTemplate 的选项。

返回值:
类型 描述
FieldsContent 用于弹出 PopupTemplatefields content。此内容包含 FieldInfo 的数组。
示例代码:
// 设置弹出窗口模板的配置。
// 此数组中的每个对象都自动转换为 esri/layers/support/Field 的实例
const fields = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

// 这将设置选项以忽略所有“日期”类型的字段,并设置两个可见字段
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};

// 设置 FieldInfo
const fieldsConfig = {fields: fields};

// 创建 Fields Content
const fieldsContent = popupUtils.createFieldsContent(fieldsConfig, templateOptions);

// 创建模板并传入字段内容
const template = {
  title: "County Land",
  outFields: ["*"],
  content: [fieldsContent]
  };

// 设置要素图层的弹出窗口模板
featureLayer.popupTemplate = template;
createPopupTemplate(config, options){PopupTemplate}

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

参数:
config Config

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

optional

用于创建 PopupTemplate 的选项。

返回值:
类型 描述
PopupTemplate 弹出模板,或 null 如果未设置字段。
示例代码:
// 设置弹出窗口模板的配置。
// 此数组中的每个对象都自动转换为 esri/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"
};

// 这将设置选项以忽略所有“日期”类型的字段,并设置两个可见字段
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};

const template = popupUtils.createPopupTemplate(config, templateOptions);
featureLayer.popupTemplate = template;

类型定义

Config

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

属性:
displayField String
optional

显示字段。

title String

PopupTemplate 的标题。

editFieldsInfo EditFieldsInfo
optional

记录谁在要素服务中添加或编辑数据以及何时进行编辑的字段。

fields Field[]

PopupTemplate 中显示的字段。

objectIdField String
optional

对象 id 字段。

示例代码:
// 设置弹出窗口模板的配置。
// 此数组中的每个对象都自动转换为 esri/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 中可见的字段名称数组。

示例代码:
// 这将设置选项以忽略所有“日期”类型的字段,并设置两个可见字段
const templateOptions = {
  ignoreFieldTypes: ["date"],
  visibleFieldNames: new Set(["NAME", "ALAND"])
};
FieldInfosConfig

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

属性:
editFieldsInfo EditFieldsInfo
optional

记录谁在要素服务中添加或编辑数据以及何时进行编辑的字段。

fields Field[]

PopupTemplate 中显示的字段。

objectIdField String
optional

对象 id 字段。

示例代码:
// 设置弹出窗口模板的配置。
// 此数组中的每个对象都自动转换为 esri/layers/support/Field 的实例
const fieldsConfig = [{
  name: "NAME",
  alias: "Name",
  type: "string"
}, {
  name: "County",
  alias: "County",
  type: "string"
}, {
  name: "ALAND",
  alias: "Land",
  type: "double"
}];

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.