首页 / 浏览问题 / 三维GIS / 问题详情
怎么修改的cesium中的鼠标中键旋转事件
1EXP 2018年03月21日
怎么修改的cesium中的鼠标中键旋转事件使其不会进入地下

1个回答

var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);

handler.setInputAction(function(e) {

//your function

},Cesium.ScreenSpaceEventType.WHEEL);

方法中填写判断语句,当相机高度低于x时,将相机高度调回x。
5,560EXP 2018年03月21日

谢谢您的回答,不过这个好像是鼠标滚轮滚动的事件,我想问的是按住鼠标滚轮上下移动时,地图会旋转,旋转到视角与地面平行时,不让相机到地面之下

待改正截图:

预期截图:

那可以这样,先在触发Cesium.ScreenSpaceEventType.MIDDLE_DOWN时设置一个状态,然后在触发Cesium.ScreenSpaceEventType.MOUSE_MOVE时,如果状态满足就执行之前说的判断语句,最后在触发Cesium.ScreenSpaceEventType.MIDDLE_UP时还原状态。

谢谢你的回复,会不会有更简便的方法呢,比如这个

constrainedAxis : Cartesian3

Scene/Camera.js 193

If set, the camera will not be able to rotate past this axis in either direction.

我现在还没弄明白这个的意思,不过好像是说设置不能旋转超过这个设置的值

你用示例试下呢?我这边看了几个示例,没做任何修改,都没有出现相机俯仰角低于0的情况
好的谢谢您的回复
...