wgs84:new Cesium.Cartographic(longitude,latitude,height)
世界坐标(笛卡尔坐标):new Cesium.Cartesian3(x,y,z)
屏幕坐标:new Cesium.Cartesian2(x, y)
屏幕坐标获取
let handlerPoint = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handlerPoint.setInputAction(function(event) {
console.log(event) //打印出的就是屏幕坐标
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
wgs84转笛卡尔坐标
/**
* WGS84坐标系转笛卡尔坐标系
* @param point
* @return {{x: *, y: *, z: *}}
* @constructor
*/
var WGS84_to_Cartesian3 = function (point) {
var car33 = Cesium.Cartesian3.fromDegrees(point.lng, point.lat, point.alt);
var x = car33.x;
var y = car33.y;
var z = car33.z;
return {x: x, y: y, z: z};
}
笛卡尔坐标转wgs84
/**
* 笛卡尔坐标系转WGS84坐标系
* @param point
* @return {{lat: *, lng: *, alt: *}}
* @constructor
*/
var Cartesian3_to_WGS84 = function (point) {
var cartesian33 = new Cesium.Cartesian3(point.x, point.y, point.z);
var cartographic = Cesium.Cartographic.fromCartesian(cartesian33);
var lat = Cesium.Math.toDegrees(cartographic.latitude);
var lng = Cesium.Math.toDegrees(cartographic.longitude);
var alt = cartographic.height;
return {lng: lng, lat: lat, alt: alt};
}
屏幕坐标转笛卡尔坐标
var pick1= new Cesium.Cartesian2(0,0);
//包含了地形、倾斜摄影测量模型等其他三维模型的坐标
var cartesian3= viewer.scene.pickPosition(pick1);
//地形在内,但是不包括倾斜摄影测量模型等其他三维模型的坐标
var cartesian3 = viewer.scene.globe.pick(viewer.camera.getPickRay(pick1),viewer.scene);
//不包含地形、倾斜摄影测量模型等其他三维模型的坐标
var cartesian3= viewer.scene.camera.pickEllipsoid(pick1);
笛卡尔坐标转屏幕坐标
let c2=Cesium.SceneTransfroms.wgs84ToWindowCoordinates(cartesian3);