WaterSymbol3DLayer 用于将 Polygon 几何图形渲染为逼真的动画水面,因此它只能在 PolygonSymbol3D 中使用。
可以设置各种属性以增强此符号图层的逼真效果。可以设置 waveStrength 以显示波的大小, waveDirection 指示波的行进方向。可以设置 waterbodySize 以指定水体的大小。水的主导 color 可以用来改变水的外观。
WaterSymbol3DLayer 通过设置 view.environment.lighting.waterReflection 启用为 true
来显示周围地形、建筑物和其他 3D 对象的反射。
MapView 中不支持此符号图层。
- 示例:
const waterLayer = new FeatureLayer({
...,
renderer: {
type: "simple",
symbol: {
type: "polygon-3d",
symbolLayers: [{
type: "water",
waveDirection: 180,
color: "#5975a3",
waveStrength: "moderate",
waterbodySize: "small"
}]
}
}
});
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
Color | 更多信息 用于遮蔽水的主要颜色。 | 更多信息 | WaterSymbol3DLayer | |
String | 更多信息 类名。 | 更多信息 | Accessor | |
String | 更多信息 符号类型。 | 更多信息 | WaterSymbol3DLayer | |
String | 更多信息 表示由符号图层表示的水体大小 | 更多信息 | WaterSymbol3DLayer | |
Number | 更多信息 表示波的行进方向。 | 更多信息 | WaterSymbol3DLayer | |
String | 更多信息 表示波的形状和强度。 | 更多信息 | WaterSymbol3DLayer |
属性详细说明
-
用于遮蔽水的主要颜色。根据光的反射,水具有不同色调的主导颜色。下图显示了如何用不同的颜色表示不同类型的水。例如,对于深水,主要颜色可能是海军蓝。
颜色可以使用 rgb(a) 值数组、命名字符串、十六进制字符串或 hsl(a) 字符串、具有
r
,g
,b
, 和a
属性的对象或 Color 对象自动转换。- 默认值:#0077BE
示例代码:// a new color by a HEX string symbolLayer.color = "#005B66";
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
type Stringreadonly
-
符号类型。
对于WaterSymbol3DLayer,类型始终为 "water"。
-
waterbodySize String
-
表示由符号图层表示的水体大小。
small
可设置为小湖泊、河流或游泳池,medium
可设置为大型湖泊,而large
建议用于海洋和海水体。可选值:"small"|"medium"|"large"
- 默认值:medium
示例代码:// sets the waterBodySize for an ocean like waterbody. symbolLayer.waterbodySize = "large";
-
waveDirection Number
-
表示波的行进方向。此值以度为单位表示地理旋转,范围为 0 到 360 度。值 0 度对应于地理上的北方,这意味着波从南向北传播。
缺省值设置为
null
,这将显示没有明显方向的波形。- 默认值:null
示例代码:// sets the wave direction to 215 degrees symbolLayer.waveDirection = 215;
-
waveStrength String
-
表示波的形状和强度。目前只能代表平静至中度水体。
calm
波浪强度代表没有波浪的水,几乎就像一面镜子。rippled
具有波浪强度的水具有非常小和短的波浪。slight
波浪强度以更明显的形式显示波浪,但它们仍然很短。选择moderate
将显示波浪,其形状较长,强度略有增加。可选值:"calm"|"rippled"|"slight"|"moderate"
- 默认值:moderate
示例代码:// sets the wave strength to small waves symbolLayer.waveStrength = "slight";
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
WaterSymbol3DLayer | 更多信息 创建符号层的深层克隆。 | 更多信息 | WaterSymbol3DLayer | |
* | 更多信息 创建此类的新实例并使用从 GeoScene产品生成的 JSON 对象的值对其进行初始化。 | 更多信息 | Symbol3DLayer | |
Object | 更多信息 将此类的实例转换为其 GeoScene portal JSON 格式。 | 更多信息 | Symbol3DLayer |
方法详细说明
-
clone(){WaterSymbol3DLayer}
-
创建符号层的深层克隆。
返回值:类型 描述 WaterSymbol3DLayer 返回调用此方法对象的深拷贝。 示例代码:// Creates a deep clone of the graphic's first symbol layer let symLyr = graphic.symbol.symbolLayers.getItemAt(0).clone();
-
fromJSON(json){*}static
-
创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。传递给输入
json
参数的对象通常来自对 REST API 中的查询操作的响应,或者来自另一个 GeoScene产品的 toJSON() 方法。有关何时以及如何使用此函数的详细信息和示例,请参阅指南中的 使用 fromJSON() 主题。参数:json Object实例的 json 表达式,以geoscene 格式显示。
返回值:类型 描述 * 返回一个该类的新实例。
-
将此类的实例转换为 GeoScene portal JSON 格式。 有关更多信息,请参阅 使用 fromJSON() 指南。
返回值:类型 描述 Object 此类实例的 GeoScene portal JSON 格式。