首页 / 浏览问题 / WebGIS / 问题详情
cesium如何设置俯仰角范围
32EXP 2023年12月20日
我现在在使用cesium时,我想要控制相机的俯仰角范围,让他在二维底图下45-90度之间拖动,在三维地图下可以随意拖动,还可以通过按钮切换俯仰角角度,目前没找到api,应该如何操作呢

1个回答

http://support.supermap.com.cn:8090/webgl/Cesium/docs/Documentation/Camera.html?classFilter=Camera

Camera的俯仰角,在flyto的方法中用到过

参数 orientation 下有“ 包含了方位(direction)、上方向(up)以及方位角(heading)、俯仰角(pitch)、滚动角(roll)属性的对象。默认情况下,3D中方位(direction)指向框架中心,在Columbus视图中指向负z方向。 在3D中上方向(up)指向本地北方向,而在Columbus视图中指向正y方向。在无限滚动模式下,二维视图不使用方向(orientation) ”

另外,Camera 由位置、方向和视锥体定义。 视锥体(viewing frustum)由6个(上、下、左、右、近、远)平面限定,每个平面可 由Cartesian4对象表示,其中x,y和z分量定义垂直于平面的单位向量,w分量是平面距原点/相机位置的距离

4,151EXP 2023年12月20日
怎么限制俯仰角的范围,限制到45度-90度,或者,让他保持90度不能通过鼠标改变呢
没有限制用的现成接口,方法有两种
1.通过监听相机的俯仰角,设置if条件,判定超过角度设置为最大角度

2.通过监听鼠标的移动,当鼠标移动的时候设置设置if条件,判断相机的最大角度。如果超过90度,设置角度为90度,并且通过代码终止鼠标的中键活动。
...