/* * @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, }; }