1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Cesium开发基础获——取鼠标点击的经纬度(lon lat) 高度(height) 相机的视角(

Cesium开发基础获——取鼠标点击的经纬度(lon lat) 高度(height) 相机的视角(

时间:2020-05-24 07:36:22

相关推荐

Cesium开发基础获——取鼠标点击的经纬度(lon lat) 高度(height) 相机的视角(

Cesium开发基础获——取鼠标点击的经纬度(lon、lat)、高度(height)、相机的视角(heading、pitch、roll)

cesium提供了三种方式,可以对camera进行操作,这三种方式,有三个共同的参数,heading,pitch,roll;

Roll 是围绕X轴旋转;

Pitch 是围绕Y轴旋转;

Heading 是围绕Z轴旋转;

<!DOCTYPE html><html lang="en"><head><!-- Use correct character set. --><meta charset="utf-8" /><!-- Tell IE to use the latest, best version. --><meta http-equiv="X-UA-Compatible" content="IE=edge" /><!-- Make the application on mobile take up the full browser screen and disable user scaling. --><metaname="viewport"content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/><title>Hello World!</title><script src="../Build/Cesium/Cesium.js"></script><style>@import url(../Build/Cesium/Widgets/widgets.css);html,body,#cesiumContainer {width: 100%;height: 100%;margin: 0;padding: 0;overflow: hidden;}</style></head><body><div id="cesiumContainer"></div><script>const viewer = new Cesium.Viewer("cesiumContainer",{animation:false, //动画插件baseLayerPicker:false,geocoder:false,navigationHelpButton:false,timeline:false,fullscreenButton:false,homeButton:false,infoBox:true,scene3DOnly:true,//仅仅显示3d,可隐藏右上角2d和3d按钮selectionoIndicatr:false,navigationInstructionsInitiallyVisibl:false,useDefaultRenderLoop:true,showRenderLoopErrors:true,projectionPicker:false,//投影选择器vrButton:false});// Load the NYC buildings tileset// const tileset = new Cesium.Cesium3DTileset({// url: '../Test/40866/tileset.json',// });// viewer.scene.primitives.add(tileset);// viewer.zoomTo(tileset)// Cartesian3 {x: 1216381.3619795016, y: -4736633.564030139, z: 4081253.955153647}//viewer.camera.pitch:-0.5000534963133889//viewer.camera.roll:6.283185307179586// viewer.camera.heading:6.283185307179586//Cesium获取鼠标点击的经纬度(lon、lat)、高度(height)、相机的视角(heading、pitch、roll)var canvas = viewer.scene.canvas;var handler = new Cesium.ScreenSpaceEventHandler(canvas);handler.setInputAction(function(lclickment) {var scene = viewer.scene;var ellipsoid = scene.globe.ellipsoid;//var cartesian = LoadCesium.Viewer.camera.pickEllipsoid(lclickment.position, ellipsoid);var cartesian = viewer.scene.pickPosition(lclickment.position);positionPick = cartesian;var pinBuilder = new Cesium.PinBuilder();if (cartesian) {var cartographic = ellipsoid.cartesianToCartographic(cartesian);lon = Cesium.Math.toDegrees(cartographic.longitude).toFixed(7);lat = Cesium.Math.toDegrees(cartographic.latitude).toFixed(7);//地理高度//height = (cartographic.height+1).toFixed(2);//相机高度height=viewer.camera.positionCartographic.height.toFixed(0);//方向 围绕Z轴旋转heading = Cesium.Math.toDegrees(viewer.camera.heading).toFixed(2);//倾斜角度 围绕Y轴旋转pitch = Cesium.Math.toDegrees(viewer.camera.pitch).toFixed(2);//围绕X轴旋转roll = Cesium.Math.toDegrees(viewer.camera.roll).toFixed(2);console.log('lon:'+lon+";"+'lat:'+lat+";"+ 'height:'+height);console.log('heading:'+heading+';'+'pitch:'+pitch + ';'+'roll:' + roll)}}, Cesium.ScreenSpaceEventType.LEFT_CLICK);</script></body></html>

Cesium开发基础获——取鼠标点击的经纬度(lon lat) 高度(height) 相机的视角(heading pitch roll)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。