ExpressionContent

AMD: require(["geoscene/popup/content/ExpressionContent"], (ExpressionContent) => { /* 代码 */ });
ESM: import ExpressionContent from "@geoscene/core/popup/content/ExpressionContent";
类: geoscene/popup/content/ExpressionContent
继承于: ExpressionContent Content Accessor
起始版本: GeoScene API for JavaScript 4.22

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"
    }
  }]
};

构造函数

new ExpressionContent(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
String更多信息

类名。

更多信息Accessor
ElementExpressionInfo更多信息

包含用于创建弹出内容元素的 Arcade 表达式。

更多信息ExpressionContent
String更多信息

显示的弹出元素的类型。

更多信息ExpressionContent

属性详细说明

declaredClass Stringreadonly inherited

类名。类的名称声明格式为 geoscene.folder.className

包含用于创建弹出内容元素的 Arcade 表达式。有关如何创建这些表达式的详细信息和示例,请参阅 ElementExpressionInfo 。

type Stringreadonly

显示的弹出元素的类型。该值始终为 expression.

对于 ExpressionContent ,类型始终为 "expression"

方法列表

属性 返回值类型 描述
ExpressionContent更多信息

创建 ExpressionContent 实例的深拷贝。

更多信息ExpressionContent
*更多信息

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。

更多信息ExpressionContent
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表达。

更多信息ExpressionContent

方法详细说明

创建 ExpressionContent 实例的深拷贝。

返回值:
类型 描述
ExpressionContent

ExpressionContent 实例的深拷贝。

fromJSON(json){*}static

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 传入的 json 对象通常来自对 REST API 中的查询操作的响应或另一个 GeoScene 产品的 toJSON() 方法。 有关如何使用此函数的详细信息请参阅指南中的使用 fromJSON() 主题。

参数:
json Object

GeoScene 格式的实例的 JSON 表示。有关各种输入JSON对象的结构示例,请参阅 GeoScene REST API 文档

返回值:
类型 描述
* 返回一个该类的新实例。
toJSON(){Object}

将此类的实例转换为其 GeoScene portal JSON 表示。 有关更多信息,请参阅使用 fromJSON()

返回值:
类型 描述
Object 此类实例的 GeoScene portal JSON 表示。

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