GroundPrimitive是CesiumJS中的一个实体,用于绘制地表。它是一个具有高度的平面,可以用于绘制地形、地图等内容。GroundPrimitive比其他几何实体更高效,因为它不需要考虑绘制顺序和深度测试。
要创建GroundPrimitive,需要提供一个包含坐标和高程信息的几何图形。例如,可以使用梅森多边形(Polygon)创建一个GroundPrimitive:
var positions = Cesium.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
]);
var polygon = new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(positions),
height: 0
});
var primitive = new Cesium.GroundPrimitive({
geometryInstances: new Cesium.GeometryInstance({
geometry: polygon
})
});
在这个例子中,我们创建一个包含五个点的梅森多边形,然后将它设置为GroundPrimitive的几何图形。我们还设置了几何图形的高度为0,这将使几何图形贴在地表上。
GroundPrimitive具有以下属性:
GroundPrimitive的外观。
var primitive = new Cesium.GroundPrimitive({
appearance : new Cesium.EllipsoidSurfaceAppearance({
material : Cesium.Material.fromType('Color', {
color : Cesium.Color.RED
})
})
});
GroundPrimitive的几何实例,可以是单个实例或实例数组。
var positions = Cesium.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
]);
var polygon1 = new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(positions),
height: 0
});
var polygon2 = new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(positions),
height: 2000
});
var primitive = new Cesium.GroundPrimitive({
geometryInstances: [
new Cesium.GeometryInstance({
geometry: polygon1
}),
new Cesium.GeometryInstance({
geometry: polygon2
})
]
});
GroundPrimitive是否可见。
var primitive = new Cesium.GroundPrimitive({
show : false
});
GroundPrimitive是否进行顶点缓存优化。
var primitive = new Cesium.GroundPrimitive({
vertexCacheOptimize : true
});
GroundPrimitive具有以下方法:
销毁GroundPrimtive实例。
primitive.destroy();