// 根据geojson数据获取中心点 (面)
let positions = Cesium.Cartesian3.fromDegreesArray(coordinates.flat(Infinity))
// 获取中心点
let cartesian = Cesium.BoundingSphere.fromPoints(positions).center
// 转换成经纬度
const cartographic = Cesium.Cartographic.fromCartesian(cartesian);
const longitudeString = Cesium.Math.toDegrees(
cartographic.longitude
);
const latitudeString = Cesium.Math.toDegrees(
cartographic.latitude
);
center = [longitudeString, latitudeString]
// 地图实体面中心点
var polyPositions = polygon.hierarchy.getValue(Cesium.JulianDate.now()).positions; var polyCenter = Cesium.BoundingSphere.fromPoints(polyPositions).center;//中心点 polyCenter = Cesium.Ellipsoid.WGS84.scaleToGeodeticSurface(polyCenter);
// 矩形中心点
var rectangle = Cesium.Rectangle.fromDegrees(//矩形视角范围
west,
south,
east,
north,
);
var center = Cesium.Rectangle.center(rectangle);//获取视角范围中心点(得到的结果为弧度Cartographic)
var adre = Cesium.Cartographic.toCartesian(center);//把弧度转换为x,y,z(世界坐标也就是Cartographic3)
//世界坐标转换成经纬度
var ellipsoid = viewer.scene.globe.ellipsoid;
var cartographic = ellipsoid.cartesianToCartographic(adre);
var lat = Cesium.Math.toDegrees(cartographic.latitude);//纬度
var lng = Cesium.Math.toDegrees(cartographic.longitude);//经度