/*
|
* @Author: your name
|
* @Date: 2021-12-10 15:17:06
|
* @LastEditTime: 2021-12-10 15:18:15
|
* @LastEditors: Please set LastEditors
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @FilePath: \huizhi-sdk\src\components\Map\libs\Point.js
|
*/
|
import { Cesium, wutu3d } from '@/global';
|
export function getCatesian3FromPX(px, viewer) {
|
const picks = viewer.scene.drillPick(px);
|
viewer.scene.render();
|
let cartesian;
|
let isOn3dtiles = false;
|
for (let i = 0; i < picks.length; i++) {
|
if (picks[i].primitive &&picks[i].primitive instanceof Cesium.Cesium3DTileset) {
|
isOn3dtiles = true;
|
}
|
}
|
if (isOn3dtiles) {
|
cartesian = viewer.scene.pickPosition(px);
|
} else {
|
var ray = viewer.camera.getPickRay(px);
|
if (!ray) return null;
|
cartesian = viewer.scene.globe.pick(ray, viewer.scene);
|
}
|
return cartesian;
|
}
|
export function Cartesian3_to_WGS84(point) {
|
const cartesian33 = new Cesium.Cartesian3(point.x, point.y, point.z);
|
const cartographic = Cesium.Cartographic.fromCartesian(cartesian33);
|
const lat = Cesium.Math.toDegrees(cartographic.latitude);
|
const lng = Cesium.Math.toDegrees(cartographic.longitude);
|
const alt = cartographic.height;
|
return {
|
lng: lng,
|
lat: lat,
|
alt: alt,
|
};
|
}
|