2、打印出當前經度、緯度、高度、攝像頭參數
const { longitude, latitude, height } = viewer.camera._positionCartographic console.log(`${Cesium.Math.toDegrees(longitude)}, ${Cesium.Math.toDegrees(latitude)}, ${Math.ceil(height)}`) console.log(`{ heading: ${viewer.camera.heading}, pitch: ${viewer.camera.pitch}, roll: ${viewer.camera.roll} }`)
3、弧度經緯度互轉
Cesium 中沒有具體的經緯度對象,要得到經緯度對象,需要先弧度,再進行轉換。
// 經緯度轉弧度 Cesium.Math.toRadians(degrees) // 弧度轉經緯度 Cesium.Math.toDegrees(radians)
4、經緯度坐標轉世界坐標
var cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height)
5、世界坐標轉經緯度坐標
// 第一步: 笛卡爾空間直角坐標系轉為地理坐標(弧度制) var cartographic = Cesium.Cartographic.fromCartesian(cartesian3) // 第二步 var lat = Cesium.Math.toDegrees(cartographic.latitude) var lng = Cesium.Math.toDegrees(cartographic.longitude) var height = cartographic.height
6、屏幕坐標和世界坐標轉換
// 二維屏幕坐標轉為三維笛卡爾空間直角坐標(世界坐標) var cartesian3 = scene.globe.pick( viewer.camera.getPickRay(windowPosition), scene, ) // 三維笛卡爾空間直角坐標轉為二維屏幕坐標,結果是 Cartesian2 對象,取出XY即為屏幕坐標。 windowPosition = Cesium.SceneTransforms.wgs84ToWindowCoordinates(screen, cartesian3)