cesium获取当前可视矩形范围

文章目录

    • 1.实现效果
    • 2.实现方法
      • 2.1实现思路
      • 2.2具体代码

Cesium实战系列文章总目录: 传送门

1.实现效果

2.实现方法

看了网上很多方法,都是用的将屏幕左上角等坐标转换为球面坐标的方法,但当坐标不在椭球体上时,就无法正确获取。

2.1实现思路

(1)看了一下官方文档,发现camera类中提供了computeViewRectangle方法用于计算可视矩形。API:传送门
cesium获取当前可视矩形范围_第1张图片
(2)以弧度制的形式返回当前可视矩形范围。当地球小到看不见时,将会返回undefined
cesium获取当前可视矩形范围_第2张图片

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);
})

你可能感兴趣的:(cesium,gis,cesium,前端)