Cesium.PolygonGraphics.ConstructorOptions
是用于定义多边形图形的选项对象。它包含了多个属性,主要包括:
- hierarchy: 定义多边形的顶点坐标,可以是
Cartesian3
数组或Cartesian2
数组。 - material: 设置多边形的填充材料,可以是颜色、图像或渐变材料。
- outline: 布尔值,指示是否显示边框。
- outlineColor: 设置边框的颜色。
- extrudedHeight: 多边形的挤出高度,使其看起来像立体形状。
- height: 多边形的基础高度。
- perPositionHeight: 布尔值,指示是否为每个顶点设置高度。
entity = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray(positions),
material: new Cesium.ColorMaterialProperty(new Cesium.Color(0, 0, 1, 0.5)),
outline: true, // 启用轮廓
outlineColor: Cesium.Color.WHITE.withAlpha(0.2), // 设置轮廓颜色
extrudedHeight: new Cesium.CallbackProperty(function () {
return waterHeight
}, false)
}
})
// viewer.zoomTo(entity)
let waterHeight = 0 // 定义并初始化水高度
viewer.clock.onTick.addEventListener(function () {
if (waterHeight < 130) {
waterHeight += 5
// waterHeight = 131
} else {
waterHeight = 130
}
})
Cesium.PolygonHierarchy
是用于定义多边形的层次结构的构造函数。它接受一个顶点数组,并可以嵌套多个环(例如,外环和内环)。
const outerPositions = [
Cesium.Cartesian3.fromDegrees(-75.0, 35.0),
Cesium.Cartesian3.fromDegrees(-70.0, 35.0),
Cesium.Cartesian3.fromDegrees(-70.0, 30.0),
Cesium.Cartesian3.fromDegrees(-75.0, 30.0)
];
const innerPositions = [
Cesium.Cartesian3.fromDegrees(-73.0, 32.0),
Cesium.Cartesian3.fromDegrees(-72.0, 32.0),
Cesium.Cartesian3.fromDegrees(-72.0, 31.0),
Cesium.Cartesian3.fromDegrees(-73.0, 31.0)
];
// 创建外环和内环
const polygonHierarchy = new Cesium.PolygonHierarchy(outerPositions, [innerPositions]);
viewer.entities.add({
polygon: {
hierarchy: polygonHierarchy,
material: Cesium.Color.BLUE.withAlpha(0.5)
}
});
第二种,用来创建遮罩多于