PolygonOutlineGeometry
是表示多边形线框的几何图形,可以用来创建多边形的线框。
要创建一个 PolygonOutlineGeometry
,需要指定多边形的顶点数组及其它参数:
var polygon = new Cesium.PolygonOutlineGeometry({
polygonHierarchy : new Cesium.PolygonHierarchy(
// 多边形的顶点数组
Cesium.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-80.0, 40.0
])
),
// 可选参数
height: 0,
extrudedHeight: 100000.0,
vertexFormat: Cesium.VertexFormat.DEFAULT,
ellipsoid: Cesium.Ellipsoid.WGS84,
granularity: Cesium.Math.RADIANS_PER_DEGREE,
perPositionHeight: false
});
以上代码将创建一个具有四个顶点的多边形线框。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
polygonHierarchy | PolygonHierarchy |
undefined |
多边形的顶点数组。 |
height | Number |
0 |
多边形的高度,相对于地球椭球体(ellipsoid )。 |
extrudedHeight | Number |
undefined |
多边形的高度,相对于地球椭球体(ellipsoid )。 |
vertexFormat | VertexFormat |
VertexFormat.DEFAULT |
多边形的顶点格式。 |
ellipsoid | Ellipsoid |
Ellipsoid.WGS84 |
要使用的椭球体。 |
granularity | Number |
Cesium.Math.RADIANS_PER_DEGREE |
多边形的细节级别。 |
perPositionHeight | Boolean |
false |
如果为 true ,则多边形将使用每个顶点的高度;否则,将使用 height 参数定义的高度。 |
以下示例将在小区域内创建了一个四边形多边形线框,指定了其相对高度为 500000.0
米。其中,viewer
是 Cesium 的 Viewer
实例。
var rectangle = Cesium.Rectangle.fromDegrees(-87.0, 30.0, -75.0, 40.0);
var coordinateArr = [];
var NW = Cesium.Rectangle.northwest(rectangle);
var SE = Cesium.Rectangle.southeast(rectangle);
coordinateArr.push(NW.longitude, NW.latitude);
coordinateArr.push(SE.longitude, NW.latitude);
coordinateArr.push(SE.longitude, SE.latitude);
coordinateArr.push(NW.longitude, SE.latitude);
// 创建多边形线框
var polygon = new Cesium.PolygonOutlineGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray(coordinateArr)
),
extrudedHeight: 500000.0
});
// 创建多边形实例
viewer.entities.add({
name: 'Polygon outline',
polygon: polygon,
outline: true,
outlineColor: Cesium.Color.RED,
outlineWidth: 3,
material: Cesium.Color.WHITE
});
通过以上示例,将在你的 Cesium 地图中看到具有红色描边的白色四边形多边形线框。