Class: EllipseSymbol3DLayer

EllipseSymbol3DLayer

new EllipseSymbol3DLayer(options)

base/symbol/symbol3DLayer/EllipseSymbol3DLayer.js, line 5

三维扇形符号图层,用于在三维场景中以三维扇形几何体渲染点要素,仅支持三维场景视图,不支持二维地图视图。
不支持通过 resource 属性配置外部资源。
通常与 PointSymbol3D 配合使用,作为其 symbolLayers 数组中的元素。

Name Type Description
options Object

构造参数

Name Type Default Description
material ColorMaterial new ColorMaterial() 可选

填充材质。目前支持 ColorMaterial(纯色材质),通过设置颜色来控制外观颜色

height Number 10 可选

扇形半径,即扇形弧线到圆心的距离(单位:米)。实际渲染半径取 heightwidth 的较大值

width Number 10 可选

扇形半径,即扇形弧线到圆心的距离(单位:米)。实际渲染半径取 heightwidth 的较大值

depth Number 1 可选

扇形体的拉伸厚度(单位:米),沿垂直于扇形平面的方向拉伸

startAngle Number 0 可选

扇形体的起始角度,单位:度

endAngle Number 30 可选

扇形体的结束角度,单位:度

innerWidth Number 1 可选

扇形体的内宽度

innerHeight Number 1 可选

扇形体的内高度

innerDepth Number 1 可选

扇形体的内深度

minimumCone Number 0 可选

扇形体的最小锥角,单位:度

maximumCone Number 360 可选

扇形体的最大锥角,单位:度

extensionOptions Object {} 可选

初始化额外参数,可以通过该参数传入引擎原生的构造参数

Example

创建三维扇形符号图层

// ES5 引入方式
const { Color, Feature } = zondy
const { EllipseSymbol3DLayer, ColorMaterial, PointSymbol3D } = zondy.symbol
const { Point } = zondy.geometry
const { GraphicsLayer } = zondy.layer
// ES6 引入方式
import { EllipseSymbol3DLayer, ColorMaterial, Color, PointSymbol3D, Point, Feature, GraphicsLayer } from "@mapgis/webclient-common"

// 创建三维扇形符号图层
const sectorLayer = new EllipseSymbol3DLayer({
  // 扇形填充颜色(红色)
  material: new ColorMaterial({
    color: new Color(255, 0, 0, 1)
  }),
  // 扇形半径(单位:米),实际取 height 和 width 的较大值
  height: 1000,
  // 扇形体拉伸厚度(单位:米),沿垂直于扇形平面的方向
  depth: 300,
  // 扇形体起始角度(单位:度)
  startAngle: 30,
  // 扇形体结束角度(单位:度)
  endAngle: 120
})

// 创建三维点符号
const symbol = new PointSymbol3D({
  symbolLayers: [sectorLayer]
})

// 构造点几何对象(坐标格式:[经度, 纬度, 高程])
const point = new Point({
  coordinates: [114, 30, 600]
})

// 构建要素对象
const feature = new Feature({
  geometry: point,
  symbol: symbol
})

// 创建图形图层并添加至地图
const graphicsLayer = new GraphicsLayer({
  graphics: []
})
map.add(graphicsLayer)

// 将要素添加至图层
graphicsLayer.add(feature)

Extends

Members

anchorAnchorType

锚点对齐方式,即几何体/模型相对于要素坐标点的对齐位置。
可选值:'center' | 'top' | 'bottom' | 'origin' | 'relative'

Default Value:
AnchorType.center

anchorPositionPoint

锚点的附加偏移量(相对于锚点位置的偏移),格式为 [dx, dy],单位与 lengthUnit 一致。
仅当 anchor'relative' 时生效

Default Value:
new Point({ coordinates: [0, 0] })

castShadowsBoolean

是否投射阴影,为 true 时该图层参与场景阴影计算

Default Value:
true

depthNumber

几何体的深度(沿 y 轴方向的尺寸),单位由 lengthUnit 决定。仅当 resource 为系统内置几何体时有效,glTF 模型不使用此参数

Default Value:
10

endAngleNumber

扇形体的结束角度,单位:度

Default Value:
360

extensionOptionsObject

初始化额外参数,可以通过该参数传入引擎原生的构造参数

Default Value:
{}

heightNumber

几何体的高度(沿 z 轴方向的尺寸),单位由 lengthUnit 决定。仅当 resource 为系统内置几何体时有效,glTF 模型不使用此参数

Default Value:
10

idString

符号图层唯一标识

innerDepthNumber

扇形体的内深度

Default Value:
1

innerHeightNumber

扇形体的内高度

Default Value:
1

innerWidthNumber

扇形体的内宽度

Default Value:
1

lengthUnitRadiusUnit

几何体尺寸参数(heightwidthdepth)的长度单位,仅当 resource 为系统内置几何体时生效

Default Value:
RadiusUnit.meters

materialColorMaterial

符号材质,目前支持 ColorMaterial(纯色材质)。
当使用 glTF 模型时,作为覆盖色叠加于模型上(可通过 alpha 控制透明度);
当使用系统内置几何体时,作为几何体的填充色

maximumConeNumber

扇形体的最大锥角,单位:度

Default Value:
360

minimumConeNumber

扇形体的最小锥角,单位:度

Default Value:
0

numberOfPointsNumber

定义圆曲线上点的数量,仅当resource类型为cylinder、cone、inverted-cone时生效

Default Value:
128

resourceIconResource

三维体资源。设置 href 加载外部 glTF/glb 模型,设置 primitive 使用系统内置几何体。
支持的内置几何体:'sphere' | 'cylinder' | 'cone' | 'inverted-cone' | 'diamond'

scaleNumber

整体缩放系数,值为 1 时按原始大小显示,仅当加载外部 glTF/glb 模型时有效

Default Value:
1

startAngleNumber

扇形体的起始角度,单位:度

Default Value:
0

transformMatrixArray.<Number>

图层的变换矩阵,格式为16个元素的一维数组,表示一个4x4的齐次坐标变换矩阵

三维符号图层类型,固定为 Symbol3DLayerType.ellipse

widthNumber

几何体的宽度(沿 x 轴方向的尺寸),单位由 lengthUnit 决定。仅当 resource 为系统内置几何体时有效,glTF 模型不使用此参数

Default Value:
10

Methods

clone(){EllipseSymbol3DLayer}

base/symbol/symbol3DLayer/EllipseSymbol3DLayer.js, line 173

克隆当前图层,返回一个具有相同属性的新实例(深拷贝)。 新实例与原实例互不影响。

Returns:
Type Description
EllipseSymbol3DLayer 克隆后的新 EllipseSymbol3DLayer 实例

toJSON(){Object}

base/symbol/symbol3DLayer/EllipseSymbol3DLayer.js, line 155

将当前实例序列化为普通 JSON 对象,可用于持久化存储或网络传输。 返回的对象可通过 EllipseSymbol3DLayer.fromJSON 反序列化还原。

Returns:
Type Description
Object 包含图层所有属性的 JSON 对象

EllipseSymbol3DLayer.fromJSON(json){EllipseSymbol3DLayer}

base/symbol/symbol3DLayer/EllipseSymbol3DLayer.js, line 146

通过 JSON 数据构造并返回一个新的 EllipseSymbol3DLayer 实例(静态工厂方法)。 接收的 JSON 结构应与 EllipseSymbol3DLayer#toJSON 的返回值一致。

Name Type Description
json Object

符号图层属性的 JSON 对象

Returns:
Type Description
EllipseSymbol3DLayer 新的 EllipseSymbol3DLayer 实例