Cesium中,在添加地形后,点击球面,获取该点的经纬度及高程坐标
viewer.screenSpaceEventHandler.setInputAction(function (event) {
// 获取鼠标当前位置的笛卡尔坐标
var cartesian = viewer.camera.pickEllipsoid(event.position, viewer.scene.globe.ellipsoid);
if (cartesian) {
// 将笛卡尔坐标转换为经纬度坐标
var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
var longitude = Cesium.Math.toDegrees(cartographic.longitude);
var latitude = Cesium.Math.toDegrees(cartographic.latitude);
// 调用 sampleTerrain 方法获取高度信息
Cesium.sampleTerrain(viewer.terrainProvider, 12, [cartographic]).then(function (updatedPositions) {
var height = updatedPositions[0].height;
console.log("The mouse is currently at longitude:" + longitude + ", latitude:" + latitude + ",height:" + height);
});
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
结果: