Cesium实战系列文章总目录
:
传送门
1.实现效果
2.实现方法
看了网上很多方法,都是用的将屏幕左上角等坐标转换
为球面坐标的方法,但当坐标不在椭球体上时,就无法正确获取。
2.1实现思路
(1)看了一下官方文档,发现camera
类中提供了computeViewRectangle
方法用于计算可视矩形。API:传送门
(2)以弧度制
的形式返回当前可视矩形范围。当地球小到看不见时,将会返回undefined
。
2.2具体代码
具体实现代码如下,通过监听相机变化
事件,实时更新
可视矩形范围。
/**
* @description: 获取当前可视矩形范围
* @param {*} _viewer
* @return {*}
*/
function refreshViewRectangle(_viewer) {
let rectangle = _viewer.camera.computeViewRectangle();
console.log("当前可视范围矩形为:");
console.log(rectangle);
}
// 添加相机监听事件
viewer.camera.moveEnd.addEventListener(() => {
refreshViewRectangle(viewer);
})