new EllipseSymbol3DLayer(options)
三维扇形符号图层,用于在三维场景中以三维扇形几何体渲染点要素,仅支持三维场景视图,不支持二维地图视图。
不支持通过 resource 属性配置外部资源。
通常与 PointSymbol3D 配合使用,作为其 symbolLayers 数组中的元素。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
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
几何体尺寸参数(height、width、depth)的长度单位,仅当 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 jsonObject 符号图层属性的 JSON 对象
Returns:
Type Description EllipseSymbol3DLayer 新的 EllipseSymbol3DLayer 实例