cesium-od-vue3
Version:
cesium、od、飞线
2 lines (1 loc) • 1.16 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("cesium");function f(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const e=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,e.get?e:{enumerable:!0,get:()=>n[r]})}}return t.default=n,Object.freeze(t)}const a=f(p);class h{static async screenToLonLat(t,r){var s;const e=t.scene,l=t.camera.getPickRay(r);if(!l)return null;try{let i=e.globe.pick(l,e);if(!i&&(i=e.camera.pickEllipsoid(r,e.globe.ellipsoid),!i))return null;if(!((s=t==null?void 0:t.terrainProvider)!=null&&s.availability)){const c=a.Cartographic.fromCartesian(i),u=a.Math.toDegrees(c.longitude),d=a.Math.toDegrees(c.latitude),g=c.height;return{longitude:u,latitude:d,height:g}}const o=await a.sampleTerrainMostDetailed(t.terrainProvider,[a.Cartographic.fromCartesian(i)]);return{longitude:a.Math.toDegrees(o[0].longitude),latitude:a.Math.toDegrees(o[0].latitude),height:o[0].height}}catch(i){window.console.error(i)}return null}static pickRay(t,r){const e=t.scene.pick(r);return a.defined(e)?e:null}}exports.CoordinateUtils=h;