// cesium获取鼠标点击的位置坐标
// 首先需要注册cesium鼠标事件,通过cesium的ScreenSpaceEventHandler函数处理用户输入事件
let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
// 设置要在输入事件上执行的功能,官方文档查询ScreenSpaceEventType可以看到所有的cesium鼠标事件
handler.setInputAction((movement:ScreenSpaceEventHandler.PositionedEvent) => {
let cartesian3 = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid)
// 防止点击到地球之外报错,加个判断
if (cartesian3 && Cesium.defined(cartesian3)) {
let cartographic = Cartographic.fromCartesian(cartesian3!)
let lng = Math.toDegrees(cartographic.longitude)
let lat = Math.toDegrees(cartographic.latitude)
let height = cartographic.height;
console.log(lng, lat, height);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
cesium获取鼠标点击位置
猜你喜欢
转载自blog.csdn.net/m0_46496355/article/details/125696317
今日推荐
周排行