如何在 Cesium JS 中绘制半圆?

How can I draw a half-circle in Cesium JS?

Cesium 具有制作圆圈的能力(例如通过使用 ellipse defined, for one), and arcs (polylines 创建实体)。但是我一直没能找到创建局部填充圆的方法。

我们使用 Cesium 来显示条形图和覆盖在地图上的其他报告详细信息。 我们现在有一个在地图上显示饼图的请求。为此,我们需要能够创建 50%、30%、20% 或其他任意百分比的圆,并用给定颜色填充。有没有办法在 Cesium 中做到这一点?

我可以只创建一个圆弧和两条连接线来创建部分圆轮廓,但我找不到创建具有填充颜色的部分圆的方法(类似于 EllipseGraphics 本身所允许的。)

从 1.62 版开始,CesiumJS 包含我为允许绘图所做的修改 partial ellipsoids。您应该能够利用它来获得您想要的东西。例如,

let viewer = new Cesium.Viewer('cesiumContainer');
viewer.entities.add({
    name: 'Pie piece',
    position: Cesium.Cartesian3.fromDegrees(-100.0, 40.0),
    ellipsoid: {
        radii: new Cesium.Cartesian3(300000.0, 300000.0, 300000.0),
        innerRadii: new Cesium.Cartesian3(1, 1, 1),
        minimumClock: Cesium.Math.toRadians(0),
        maximumClock: Cesium.Math.toRadians(270),
        minimumCone : Cesium.Math.toRadians(89.8),
        maximumCone : Cesium.Math.toRadians(90.2),
        material: Cesium.Color.RED,
    }
});