首页 > 解决方案 > 如何在 Cesium JS 中画一个半圆?

问题描述

Cesium 有能力制作圆(例如通过创建一个定义了椭圆的实体)和弧(折线)。但我一直无法找到创建部分填充圆圈的方法。

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

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

标签: cesium

解决方案


从 1.62 版开始,CesiumJS 包括我为允许绘制部分椭圆体所做的修改。你应该能够利用它来获得你想要的东西。例如,

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

推荐阅读