1、原理经纬度坐标系转屏幕坐标系,在用屏幕坐标系用射线检测的方式获取高度。
2、上代码
function getHeight(p) {
var c = viewer.scene.cartesianToCanvasCoordinates(Cesium.Cartesian3.fromDegrees(Number(p.x), Number(p.y)));
if (Cesium.defined(c)) {
let d = viewer.scene.pickPosition(c);
if (Cesium.defined(d) && pt instanceof Cesium.Cartesian3) {
var c = Cesium.Cartographic.fromCartesian(pt);
return {
x: Cesium.Math.toDegrees(c.longitude),
y: Cesium.Math.toDegrees(c.latitude),
z: c.height
}
}
}
}
3、如果你没有获取到有可能是没有加深度检测
```javascript
viewer.scene.globe.depthTestAgainstTerrain = true; //深度检测