cesium鼠标点击获取点坐标的几种方式

handler.setInputAction(function (event) {
 //1.椭球面坐标:获取当前点击视线与椭球面相交处的坐标,在加载地形的场景上获取的坐标有误差
 //var earthPosition = viewer.camera.pickEllipsoid(event.position,viewer.scene.globe.ellipsoid); 

//2.场景坐标:获取场景中任意点击处的对应的世界坐标,需要开启“地形深度检测”(在未开启“地形深度检测”的情况下只能在3DTile上准确获取空间坐标,开启“地形深度检测”后,viewer.scene.pickPosition 也能在非3DTile上准确获取坐标)
 viewer.scene.globe.depthTestAgainstTerrain = true; 
var earthPosition = viewer.scene.pickPosition(event.position); 

//3.地标坐标:获取点击处地球表面的世界坐标,不包括模型、倾斜摄影表面 
// var ray = viewer.camera.getPickRay(event.position); 
// var earthPosition = viewer.scene.globe.pick(ray, viewer.scene); 

if (Cesium.defined(earthPosition)) {

 } 
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

  

 

posted @ 2020-05-08 11:35  敏敏酱  阅读(5698)  评论(0编辑  收藏  举报