如何在 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,
}
});
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,
}
});