1. 三维模式下 屏幕坐标 转换为 笛卡尔空间直角坐标
var ray = viewer.camera.getPickRay(windowPosition);
var cartesian = viewer.scene.globe.pick(ray, viewer.scene);
2. 二维模式下屏幕坐标 转换为 笛卡尔空间直角坐标
//var cartesian = scene.camera.pickEllipsoid(position, scene.globe.ellipsoid);
3. 笛卡尔空间直角坐标 转换为 屏幕坐标
var pick = Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, cartesian);
4. 笛卡尔空间直角坐标 转换为 地理坐标(弧度制)
var cartographic=Cesium.Cartographic.fromCartesian(cartesian)
5. 地理坐标(弧度制) 转换为 笛卡尔空间直角坐标
var position = Cesium.Cartesian3.fromRadians(lng, lat, height)
6. 笛卡尔空间直角坐标 转换为 地理坐标(经纬度)
var cartographic=Cesium.Cartographic.fromCartesian(cartesian)
var lat=Cesium.Math.toDegrees(cartographic.latitude);
var lng=Cesium.Math.toDegrees(cartographic.longitude);
var height=cartographic.height;
7. 地理坐标(经纬度) 转换为 笛卡尔空间直角坐标
var position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height)
网友评论