WaterSymbol3DLayer

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

WaterSymbol3DLayer 用于将 Polygon 几何图形渲染为逼真的动画水面,因此它只能在 PolygonSymbol3D 中使用。

symbol3D-water

可以设置各种属性以增强此符号图层的逼真效果。可以设置 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"
      }]
    }
  }
});

构造函数

new WaterSymbol3DLayer(properties)
参数:
properties Object
optional

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

属性列表

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

用于遮蔽水的主要颜色。

更多信息WaterSymbol3DLayer
String更多信息

类名。

更多信息Accessor
String更多信息

符号类型。

更多信息WaterSymbol3DLayer
String更多信息

表示由符号图层表示的水体大小

更多信息WaterSymbol3DLayer
Number更多信息

表示波的行进方向。

更多信息WaterSymbol3DLayer
String更多信息

表示波的形状和强度。

更多信息WaterSymbol3DLayer

属性详细说明

自动转换自 Object|Number[]|String

用于遮蔽水的主要颜色。根据光的反射,水具有不同色调的主导颜色。下图显示了如何用不同的颜色表示不同类型的水。例如,对于深水,主要颜色可能是海军蓝。

symbol3D-water

颜色可以使用 rgb(a) 值数组、命名字符串、十六进制字符串或 hsl(a) 字符串、具有 r, g, b, 和a属性的对象或 Color 对象自动转换。

默认值:#0077BE
示例代码:
// a new color by a HEX string
symbolLayer.color = "#005B66";
declaredClass Stringreadonly inherited

类名。类的名称声明格式为 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

方法详细说明

创建符号层的深层克隆。

返回值:
类型 描述
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 格式显示。

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

将此类的实例转换为 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.