ExpressionContent 元素允许您使用 Arcade 表达式定义弹出的自定义内容。 该表达式对字典求值。 该字典表示在弹出元素 web 地图规范中定义的 TextContent, FieldsContent 或 MediaContent。
定义弹出内容的表达式通常使用 attributes
元素的属性来引用在表格或图表中的表达式内计算的值。
此内容元素专为图表、表格或富文本元素中的内容基于逻辑条件的高级方案而设计。例如,如果一个或多个字段中的数据为空,您可以使用此元素动态创建一个表,该表仅由包含有效数据值的字段组成。您还可以使用此元素创建由聚合数据值组成的图表或其他内容类型。这在cluster popups中特别有用。
- 示例:
// Creates an column chart where each category/value
// is an aggregate of two or more fields
layer.popupTemplate = {
title: "Educational Attainment",
content: [{
type: "expression",
expressionInfo: {
expression: `
// Create a dictionary of attributes representing the values
// to display in the chart
var attributes = {
"No School": $feature.no_school + $feature.some_primary,
"Primary": $feature.primary_complete + $feature.some_secondary,
"Secondary": $feature.secondary_complete + $feature.some_highSchool,
"High School": $feature.highSchool_diploma + $feature.highSchool_ged + $feature.some_college,
"College/University": $feature.associates + $feature.bachelors + $feature.masters + $feature.doctorate + $feature.professional;
};
var fields = [];
// Create an array representing the attribute names (or keys)
for (var k in attributes){
Push(fields, k);
}
// Returns a dictionary providing the information
// required by the popup to render a column chart
return {
type: "media",
attributes: attributes,
title: "Educational attainment",
mediaInfos: [{
type: "columnchart",
value: {
// The list of attribute names (keys) to include in the chart
fields: fields
}
}]
};
`,
title: "Educational Attainment"
}
}]
};
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
ElementExpressionInfo | 更多信息 包含用于创建弹出内容元素的 Arcade 表达式。 | 更多信息 | ExpressionContent | |
String | 更多信息 显示的弹出元素的类型。 | 更多信息 | ExpressionContent |
属性详细说明
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
expressionInfo ElementExpressionInfoautocast
-
包含用于创建弹出内容元素的 Arcade 表达式。有关如何创建这些表达式的详细信息和示例,请参阅 ElementExpressionInfo 。
-
type Stringreadonly
-
显示的弹出元素的类型。该值始终为
expression
.对于 ExpressionContent ,类型始终为 "expression"。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
ExpressionContent | 更多信息 创建 ExpressionContent 实例的深拷贝。 | 更多信息 | ExpressionContent | |
* | 更多信息 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 | 更多信息 | ExpressionContent | |
Object | 更多信息 将此类的实例转换为其 GeoScene portal JSON 表达。 | 更多信息 | ExpressionContent |
方法详细说明
-
clone(){ExpressionContent}
-
创建 ExpressionContent 实例的深拷贝。
返回值:类型 描述 ExpressionContent ExpressionContent 实例的深拷贝。
-
fromJSON(json){*}static
-
创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 传入的
json
对象通常来自对 REST API 中的查询操作的响应或另一个 GeoScene 产品的 toJSON() 方法。 有关如何使用此函数的详细信息请参阅指南中的使用 fromJSON() 主题。参数:json ObjectGeoScene 格式的实例的 JSON 表示。有关各种输入JSON对象的结构示例,请参阅 GeoScene REST API 文档 。
返回值:类型 描述 * 返回一个该类的新实例。
-
toJSON(){Object}
-
将此类的实例转换为其 GeoScene portal JSON 表示。 有关更多信息,请参阅使用 fromJSON() 。
返回值:类型 描述 Object 此类实例的 GeoScene portal JSON 表示。