new PolygonSymbol3D(options)
base/symbol/PolygonSymbol3D.js, line 5
三维面符号,用于在三维场景视图中渲染面要素(Polygon),不支持二维视图。
三维面符号必须包含以下符号图层中的一个或多个,才能在三维场景中显示要素:
三维区符号图层、
三维拉伸区符号图层、
三维线符号图层、
三维图标符号图层、
三维体对象符号图层、
三维注记符号图层
示例如下:
[1、创建一个三维面符号对象]
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
options |
Object |
初始化参数
|
Example
// ES5 引入方式
const { Color, Feature } = zondy
const { GraphicsLayer } = zondy.layer
const { Polygon } = zondy.geometry
const { ExtrudeSymbol3DLayer, ColorMaterial, PolygonSymbol3D } = zondy.symbol
// ES6 引入方式
import { ExtrudeSymbol3DLayer, ColorMaterial, Color, GraphicsLayer, Feature, PolygonSymbol3D } from "@mapgis/webclient-common"
// 创建三维拉伸区符号图层
const extrudeSymbol3DLayer = new ExtrudeSymbol3DLayer({
// 填充颜色
material: new ColorMaterial({
color: new Color(255, 1, 1, 1)
}),
// 拉伸高度,单位为米
size: 1000,
// 几何形状:thicknessPolygon(无厚度多边形)、prism(棱柱)、pyramid(棱锥)
primitive: 'prism'
})
// 创建三维面符号,并指定符号图层
const symbol = new PolygonSymbol3D({
symbolLayers: [extrudeSymbol3DLayer]
})
// 构造面几何对象(坐标格式为 [经度, 纬度, 高程])
const polygon = new Polygon({
coordinates: [
[
[112.3, 29, 0],
[112.9, 29, 0],
[113.5, 29, 0],
[113.5, 28.4, 0],
[112.9, 28.4, 0],
[112.3, 28.4, 0],
[112.3, 29, 0], // 首尾坐标相同,闭合多边形
],
],
})
// 构建要素对象,将几何与符号绑定
const feature = new Feature({
geometry: polygon,
symbol: symbol
})
// 创建图形图层
const layer = new GraphicsLayer({
graphics: [],
})
map.add(layer)
// 将要素添加至图层
layer.add(feature)
Extends
Members
-
symbolLayersCollection
-
符号图层集合,用于可视化要素对象
-
typeString
-
符号类型,固定值为
polygon-3d,用于标识当前符号为三维面符号。
Methods
-
clone(){PolygonSymbol3D}
base/symbol/PolygonSymbol3D.js, line 120 -
克隆当前符号,返回一个具有相同属性的新实例。 新实例与原实例互不影响(深拷贝内部状态)。
Returns:
Type Description PolygonSymbol3D 克隆后的新符号实例 -
toJSON(){Object}
base/symbol/PolygonSymbol3D.js, line 111 -
将当前符号序列化为普通 JSON 对象,可用于持久化存储或网络传输。 返回的对象可通过
PolygonSymbol3D.fromJSON反序列化还原。Returns:
Type Description Object 包含符号所有属性的 JSON 对象 -
PolygonSymbol3D.fromJSON(json){PolygonSymbol3D}
base/symbol/PolygonSymbol3D.js, line 101 -
通过 JSON 对象构造并返回一个新的 PolygonSymbol3D 实例(静态工厂方法)。 接收的 JSON 结构应与
PolygonSymbol3D#toJSON的返回值一致。Name Type Default Description jsonObject {} 可选 符号属性的 JSON 对象
Returns:
Type Description PolygonSymbol3D 新的 PolygonSymbol3D 实例