frustum.computeCorners is not a function
时间: 2023-07-06 11:43:10 浏览: 67
如果您在使用`frustum.computeCorners()`的时候出现了“frustum.computeCorners is not a function”这个错误,可能是因为您使用的Cesium版本过低,该版本不支持`computeCorners()`方法。`computeCorners()`方法是在Cesium 1.39版本中引入的,因此,如果您的Cesium版本低于1.39,就会出现该错误。
要解决这个问题,您可以尝试升级您的Cesium版本。如果您使用的是Cesium 1.39或更高版本,但仍然出现了这个错误,那么可能是因为您没有正确引入Cesium的库文件。请确保您已经正确引入了Cesium的库文件,并且在使用`computeCorners()`方法之前,已经加载了所有必要的模块。
另外,如果您只是想获取相机当前可视区域的经度、纬度范围,还有一种更简单的方法,可以使用`Cesium.Rectangle.fromDegrees()`方法来获取。您可以使用以下代码来获取相机当前可视区域的经度、纬度范围:
```javascript
var rectangle = viewer.camera.computeViewRectangle();
var minLongitude = Cesium.Math.toDegrees(rectangle.west);
var maxLongitude = Cesium.Math.toDegrees(rectangle.east);
var minLatitude = Cesium.Math.toDegrees(rectangle.south);
var maxLatitude = Cesium.Math.toDegrees(rectangle.north);
console.log('最小经度: ' + minLongitude);
console.log('最大经度: ' + maxLongitude);
console.log('最小纬度: ' + minLatitude);
console.log('最大纬度: ' + maxLatitude);
```
这段代码使用`viewer.camera.computeViewRectangle()`方法来获取相机当前可视区域的矩形范围,然后将其转换为经度、纬度范围,并打印到控制台上。这种方法更简洁、更易读,而且不需要使用`Frustum`对象和`computeCorners()`方法。