cesium 中,PolygonGeometry怎么设置贴地
时间: 2024-04-18 15:30:36 浏览: 362
在Cesium中,要将多边形几何体贴地,你可以使用`Cesium.PolygonGeometry`的 `heightReference` 属性,并将其设置为 `Cesium.HeightReference.CLAMP_TO_GROUND`。这将确保多边形几何体基于地表高度进行绘制。
以下是一个示例代码:
```javascript
// 定义多边形的顶点数组
var positions = Cesium.Cartesian3.fromDegreesArray([
-115.0, 37.0,
-115.0, 32.0,
-107.0, 33.0,
-102.0, 31.0,
-102.0, 35.0
]);
// 创建多边形实例
var polygonInstance = new Cesium.GeometryInstance({
geometry: new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(positions),
height: 0,
extrudedHeight: 100000, // 如果需要立体效果,可以设置 extrudedHeight 属性
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND // 设置贴地
}),
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.RED) // 设置颜色
}
});
// 添加多边形实例到场景中
viewer.scene.primitives.add(new Cesium.Primitive({
geometryInstances: [polygonInstance],
appearance: new Cesium.PerInstanceColorAppearance()
}));
```
这段代码将在Cesium场景中添加一个贴地的红色多边形。你可以根据需要修改顶点数组、高度和颜色等属性来创建不同的贴地多边形。
阅读全文