- //获取经纬度
- function GetJingWeiDu() {
- //定义canvas屏幕点击事件
- var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
- //注册鼠标事件,event参数是点击的地方是在哪里
- handler.setInputAction(function (event) {
- debugger
- //定义一个屏幕点击的事件,pickPosition封装的是获取点击的位置的坐标
- var position = viewer.scene.pickPosition(event.position);
- //输出之后我们发现坐标信息都是大数目,因为cesium定义的球体坐标都是笛卡尔坐标,所以我们需要转换笛卡尔坐标
- console.log("笛卡尔:" + position);
- //将笛卡尔坐标转化为弧度坐标
- var cartographic = Cesium.Cartographic.fromCartesian(position);
- console.log("弧度:" + cartographic);
- //将弧度坐标转换为经纬度坐标(先转弧度再转经纬度简单一点,直接转换的方法也有,不过推荐用这种)
- var longitude = Cesium.Math.toDegrees(cartographic.longitude); //经度
- var latitude = Cesium.Math.toDegrees(cartographic.latitude); //纬度
- var height = cartographic.height; //高度
- console.log("经纬度:" + longitude, latitude, height);
- alert("经度:" + longitude + "纬度:" + latitude + "高度:" + height);
- //同时也可以将经度度转回为笛卡尔
- var ellipsoid = viewer.scene.globe.ellipsoid;
- //定义84坐标为一个Cartesian值
- var wgs84 = Cesium.Cartographic.fromDegrees(longitude, latitude, height)
- //将84坐标转换为笛卡尔
- var dikaer = ellipsoid.cartographicToCartesian(wgs84)
- //赋值
- var longitude = dikaer.x;
- var latitude = dikaer.y;
- var height = dikaer.z;
- alert("笛卡尔x:" + longitude + "笛卡尔y:" + latitude + "笛卡尔z:" + height);
- }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
- }
- //GetJingWeiDu();
Cesium基础知识-鼠标点击点,坐标,经纬度,弧度
最新推荐文章于 2025-03-25 21:48:34 发布