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);

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM