2019년 5월 2일 목요일

Cesium에서 현재 카메라 위치 좌표와 고도 가져오기

Cesium에서 canvas 화면 center 지점의 좌표 취득


//canvas 화면 center 지점의 좌표 취득
var cartographic = null;
var cartesian = null;

//장면 모드에 따라 처리방식이 다름
if (viewer.scene.mode == 3) { //3D
 var windowPosition = new Cesium.Cartesian2(viewer.container.clientWidth / 2, viewer.container.clientHeight / 2);
 var pickRay = viewer.scene.camera.getPickRay(windowPosition);
 cartesian = viewer.scene.globe.pick(pickRay, viewer.scene);
 cartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian);
} else if (viewer.scene.mode == 2) { //2D
 cartographic = viewer.camera.positionCartographic;
}

//현재의 카메라 위치정보를 세슘에서 가져오기
var cartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(camera.position); //현재 카메라 위치를 가져옴 : 라디안
var cartographic = viewer.camera.positionCartographic; //현재 카메라 위치를 가져옴 : 라디안