/**
* 获取实体的位置 并转换成string
* @param {\} entity 多边形 矩形 点 圆形 多段线
* @returns
*/
getPositionsByEnity(entity) {
if (entity) {
if () {
return (
this.getLngLatByCartesian3(
().positions
)
);
} else if () {
let rectangle = ();
let result = [];
(
rectangle,
.WGS84,
,
result
);
return (this.getLngLatByCartesian3(result));
} else if () {
return (
this.getLngLatByCartesian3(._value)
);
} else if () {
let res = {
center: this.getLngLatByCartesian3(._value),
radius: (),
};
return (res);
} else if () {
return this.getLngLatByCartesian3((), 'polyline')
}
}
return undefined;
},
/**
* 笛卡尔坐标转换经纬度坐标
* @param {*} car3_ps
* @returns
*/
getLngLatByCartesian3(car3_ps, type) {
let result = null;
if (car3_ps instanceof Cesium.Cartesian3) {
let _cartographic = (car3_ps);
let _lat = (_cartographic.latitude);
let _lng = (_cartographic.longitude);
let _alt = _cartographic.height;
if (type == 'polyline') {
result = { longitude: _lng, latitude: _lat, elevation: _alt }
} else {
result = { lng: _lng, lat: _lat, alt: _alt }
}
return result;
} else if (car3_ps instanceof Array) {
let res = [];
for (let i = 0; i < car3_ps.length; i++) {
let _cartographic = (car3_ps[i]);
let _lat = (_cartographic.latitude);
let _lng = (_cartographic.longitude);
let _alt = _cartographic.height;
if (type == 'polyline') {
({ longitude: _lng, latitude: _lat, elevation: _alt })
} else {
({ lng: _lng, lat: _lat, alt: _alt })
}
}
return res;
}
},