this.ellipsoid = viewer.scene.globe.ellipsoid;
var cartesian = viewer.camera.pickEllipsoid(e.position, this.ellipsoid);
if(cartesian){
// 苗卡尔椭球体的三维坐标 转 地图坐标(弧度)
var cartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian);
// 地图坐标(弧度) 转 十进制度数 toFixed保留小数点后几位
var log_String = Cesium.Math.toDegrees(cartographic.longitude).toFixed(8);//经度
var lat_String = Cesium.Math.toDegrees(cartographic.latitude).toFixed(8);//纬度
// 返回的高度值是相机当前位置的海拔高度,以米为单位
var alt_String = (viewer.camera.positionCartographic.height/1000).toFixed(2);//视角高
// 返回的高度值是指定地图位置的地形高度,以米为单位
var elec_String = viewer.scene.globe.getHeight(cartographic).toFixed(4);//海拔
$this.latObj = {log:log_String,lat:lat_String,alt:alt_String,elec:elec_String}
}
注意上面:
viewer.camera.positionCartographic.height 返回的高度值是相机当前位置的海拔高度,以米为单位。
viewer.scene.globe.getHeight(cartographic) 返回的高度值是指定地图位置的地形高度,以米为单位。文章来源:https://www.toymoban.com/news/detail-659537.html
有时获取的是指定位置的地形高度,不是当前相机的高度文章来源地址https://www.toymoban.com/news/detail-659537.html
到了这里,关于cesium中获取高度的误区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!