原生的 Cesium中提供了绘制圆柱的方法,看似没有提供绘制圆锥的方法,其实在配置项里面可以直接设置参数生成圆锥,在cylinder对象里面有两个参数,topRadius:上底面的半径(如果为0则是圆锥啦);bottomRadius:下底面的半径 ;
import * as Cesium from "cesium";
let cylinderNum = 0;
/**
* 圆柱/圆锥实体
*/
class CylinderGraphics {
/**
* 加载方法
* @param {Object} parameter -实体默认配置项
* @param {Number} i -判断是否为圆锥,i等于true则上底面半径为0,i等于false则上底面半径等于下底面半径
* @param {Array} parameter.clickPointH -底面圆点的坐标经纬度高程数组
* @param {Number} [parameter.radius] -下底面圆的半径(单位:米)
* @param {Cesium.Viewer} parameter.viewer -地图主窗口
* @param {Number}[parameter.numberOfVerticalLines] -沿轮廓的周长绘制的垂直线的数量,数量越多越圆滑,默认20条
* @return {Cesium.Entity} -返回圆柱/圆锥实体
*/
draw(parameter, i) {
let xy = parameter.clickPointH;
let l = parameter.radius;
let v = parameter.viewer;
let id = "圆柱体" +