三维球转动监听,可以使用相机监听,也可以使用鼠标移动监听。
相机监听有延迟,必须转动到一定程度后,才会启动监听。
鼠标移动监听可以实时监听
/* 三维球转动添加监听事件 */
viewer.camera.changed.addEventListener(function (percentage) {
// 打印中心点坐标、高度
console.log(getCenterPosition());
});
/* 获取camera中心点坐标 */
function getCenterPosition() {
var result = viewer.camera.pickEllipsoid(new Cesium.Cartesian2(viewer.canvas.clientWidth / 2, viewer.canvas
.clientHeight / 2));
var curPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(result);
var lon = curPosition.longitude * 180 / Math.PI;
var lat = curPosition.latitude * 180 / Math.PI;
var height = getHeight();
return {
lon: lon,
lat: lat,
height: height
};
}
/* 获取camera高度 */
function getHeight() {
if (viewer) {
var scene = viewer.scene;
var ellipsoid = scene.globe.ellipsoid;
var height = ellipsoid.cartesianToCartographic(viewer.camera.position).height;
return height;
}
}