Cesiumjs 獲取坐標點高度的三種方式[轉]


第一種(鏡頭高度太高獲取的高度會為錯誤的負數,鏡頭高度要足夠低)

let cartographic = Cesium.Cartographic.fromDegrees(lon,lat);
let height = viewer.scene.globe.getHeight(cartographic);

第二種(獲取屏幕坐標點高度)

let scene = viewer.scene; let globe = scene.globe; let ray = viewer.camera.getPickRay(position);//position屏幕坐標 let cartesian = globe.pick(ray, scene); let ellipsoid = Cesium.Ellipsoid.WGS84; let cartographic = ellipsoid.cartesianToCartographic(cartesian); let height = cartographic.height; 

第三種(要11級? 不然獲取不到)

let cartographics= [Cesium.Cartographic.fromDegrees(lon,lat)]; Cesium.sampleTerrain(viewer.terrainProvider, 11, cartographics) .then((updatedPositions)=>{ updatedPositions.forEach((pos, i) => { console.log(pos) }); });
ttps://www.jianshu.com/p/ed3c8711f213


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM