WebStyleSymbol 是一个用于方便地创建矢量 2D 符号以及逼真和主题 3D 符号的类。它是一个包装器,用于创建指向API中可用的Web样式资源的 CIMSymbol 和 PointSymbol3D 对象。
Web 样式是存储在 GeoScene Enterprise 门户或 GeoScene Online 项目中的符号的集合。从当前版本开始,只有 GeoScene Web 样式符号 (2D) 和 GeoScene Web 样式符号 (3D) 可以与此类结合使用。请注意,2D Web 样式符号仅在 2D 中受支持,3D Web 样式符号仅在 3D 中受支持,但 EsriIconsStyle 除外,它可在 2D 和 3D 中使用。
WebStyleSymbol 本身不包含任何符号系统定义;它仅包含对 Web 样式符号的引用。出于可视化目的,它在内部被替换为 CIMSymbol 或它所引用的 PointSymbol3D 实例。您可以使用 fetchSymbol() 从 Web 样式中检索实际的符号对象,以更改其颜色或大小。
Web 样式可以直接使用 URL (styleUrl) 或注册样式的唯一名称 (styleName)引用。
已知限制
- 目前,fetchSymbol() 方法仅适用于 3d Web 样式符号
- 示例:
// Referencing a web style via styleName
let symbol = {
type: "web-style", // 转换成 new WebStyleSymbol()
styleName: "EsriThematicShapesStyle",
name: "Standing Diamond"
};
// Referencing a web style via styleUrl
let symbol = {
type: "web-style", // 转换成 new WebStyleSymbol()
styleUrl: "http://www.geosceneonline.cn/geoscene/sharing/rest/content/items/273209ef274343e69db22aceae23cf00/data",
name: "Centered Sphere"
};
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
String | 更多信息 Web 样式中符号的名称。 | 更多信息 | WebStyleSymbol | |
Portal | 更多信息 包含此符号所指的 web 样式的门户。 | 更多信息 | WebStyleSymbol | |
String | 更多信息 已注册的 Web 样式名称。 | 更多信息 | WebStyleSymbol | |
String | 更多信息 指向 Web 样式定义的 URL。 | 更多信息 | WebStyleSymbol | |
String | 更多信息对于 WebStyleSymbol,类型始终为 "web-style"。 | 更多信息 | WebStyleSymbol |
属性详细说明
-
起始版本: GeoScene API for JavaScript 4.22
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
name String
-
Web 样式中符号的名称。Web 样式中的每个符号都由唯一的名称标识。此处只能引用 GeoScene Web 样式符号 (2D) 和 GeoScene Web 样式符号 (3D)。
-
包含此符号所指的 web 样式的门户。仅当设置 styleName 时才需要。
默认为 config.portalUrl 中的值(例如 https://www.geosceneonline.cn)。
-
styleName String
-
已注册的 Web 样式名称。此处只能引用 GeoScene Web 样式符号 (2D) 和 GeoScene Web 样式符号 (3D)。请注意,2D Web 样式符号仅在 2D 中受支持,3D Web 样式符号仅在 3D 中受支持,但 EsriIconsStyle 除外,它可在 2D 和 3D 中使用。
需要设置 portal 属性。不能与 styleUrl 结合使用。
请参阅类描述的例子。
-
styleUrl String
-
-
type Stringreadonly
对于 WebStyleSymbol,类型始终为 "web-style"。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
WebStyleSymbol | 更多信息 创建符号的深层克隆。 | 更多信息 | WebStyleSymbol | |
Promise<CIMSymbol> | 更多信息 返回 WebStyleSymbol 引用的 CIMSymbol 实例。 | 更多信息 | WebStyleSymbol | |
Promise<PointSymbol3D> | 更多信息 下载并返回 WebStyleSymbol引用的 PointSymbol3D 实例。 | 更多信息 | WebStyleSymbol | |
* | 更多信息 创建此类的新实例并使用从 GeoScene产品生成的 JSON 对象的值对其进行初始化。 | 更多信息 | Symbol | |
Object | 更多信息 将此类的实例转换为其 GeoScene portal JSON 格式。 | 更多信息 | Symbol |
方法详细说明
-
clone(){WebStyleSymbol}
-
创建符号的深层克隆。
返回值:类型 描述 WebStyleSymbol 返回调用此方法对象的深拷贝。 示例代码:// Creates a deep clone of the graphic's symbol let symLyr = graphic.symbol.clone();
-
起始版本: GeoScene API for JavaScript 4.22
-
返回 WebStyleSymbol 引用的 CIMSymbol 实例。
参数:options Objectoptional具有如下属性的对象。
规范:signal AbortSignaloptional可用于中止异步任务的 Signal 对象。 当发出中止信号时,返回的 Promise 将被一个名为
AbortError
的 Error 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止 signals 的控制器的更多信息。返回值:类型 描述 Promise<CIMSymbol> 解析后,返回 CIMSymbol 实例。 示例代码:// Given a SimpleRenderer with a WebStyleSymbol, // fetch the corresponding CIMSymbol, // then replace the renderer symbol with the returned CIMSymbol renderer.symbol.fetchCIMSymbol().then(function (cimSymbol) { renderer.symbol = cimSymbol; });
-
fetchSymbol(options){Promise<PointSymbol3D>}
-
下载并返回 WebStyleSymbol引用的 PointSymbol3D 实例。
参数:options Objectoptional具有如下属性的对象。
规范:signal AbortSignaloptional可用于中止异步任务的 Signal 对象。 当发出中止信号时,返回的 Promise 将被一个名为
AbortError
的 Error 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止 signals 的控制器的更多信息。返回值:类型 描述 Promise<PointSymbol3D> 解析后,返回 PointSymbol3D 实例。 - 示例:
示例代码:// Given a SimpleRenderer with a WebStyleSymbol, replaces the symbol with its non-referencing version by fetching it renderer.symbol.fetchSymbol().then(function(actualSymbol) { renderer.symbol = actualSymbol; });
-
fromJSON(json){*}static
-
创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。传递给输入
json
参数的对象通常来自对 REST API 中的查询操作的响应,或者来自另一个 GeoScene产品的 toJSON() 方法。有关何时以及如何使用此函数的详细信息和示例,请参阅指南中的 使用 fromJSON() 主题。参数:json Object实例的 json 表达式,以geoscene 格式显示。
返回值:类型 描述 * 返回一个该类的新实例。
-
将此类的实例转换为 GeoScene portal JSON 格式。 有关更多信息,请参阅 使用 fromJSON() 指南。
返回值:类型 描述 Object 此类实例的 GeoScene portal JSON 格式。