网上目前有两种获取当前Camera的四至范围的方法

方法一    这种方法是最通用的,即使在哥伦布视角(2.5D下依旧能准确获取值)

 function getCurrentExtent() {        // 范围对象
        var extent = {};        // 得到当前三维场景
        var scene = viewer.scene;        // 得到当前三维场景的椭球体
        var ellipsoid = scene.globe.ellipsoid;        var canvas = scene.canvas;        // canvas左上角
        var car3_lt = viewer.camera.pickEllipsoid(new Cesium.Cartesian2(0, 0), ellipsoid);        // canvas右下角
        var car3_rb = viewer.camera.pickEllipsoid(new Cesium.Cartesian2(canvas.width, canvas.height), ellipsoid);        // 当canvas左上角和右下角全部在椭球体上
        if (car3_lt && car3_rb) {            var carto_lt = ellipsoid.cartesianToCartographic(car3_lt);            var carto_rb = ellipsoid.cartesianToCartographic(car3_rb);
            extent.xmin = Cesium.Math.toDegrees(carto_lt.longitude);
            extent.ymax = Cesium.Math.toDegrees(carto_lt.latitude);
            extent.xmax = Cesium.Math.toDegrees(carto_rb.longitude);
            extent.ymin = Cesium.Math.toDegrees(carto_rb.latitude);
        }        // 当canvas左上角不在但右下角在椭球体上
        else if (!car3_lt && car3_rb) {            var car3_lt2 = null;            var yIndex = 0;            do {                // 这里每次10像素递加,一是10像素相差不大,二是为了提高程序运行效率
                yIndex <= canvas.height ? yIndex += 10 : canvas.height;
                car3_lt2 = viewer.camera.pickEllipsoid(new Cesium.Cartesian2(0, yIndex), ellipsoid);
            } while (!car3_lt2);            var carto_lt2 = ellipsoid.cartesianToCartographic(car3_lt2);            var carto_rb2 = ellipsoid.cartesianToCartographic(car3_rb);
            extent.xmin = Cesium.Math.toDegrees(carto_lt2.longitude);
            extent.ymax = Cesium.Math.toDegrees(carto_lt2.latitude);
            extent.xmax = Cesium.Math.toDegrees(carto_rb2.longitude);
            extent.ymin = Cesium.Math.toDegrees(carto_rb2.latitude);
        }        // 获取高度
        extent.height = Math.ceil(viewer.camera.positionCartographic.height);        return extent;
    }

方法二  使用Cesium自带的方法,但是我使用下来发现,在哥伦布视角下不能获取值,值是undefined

viewer.camera.computeViewRectangle()