Cesium鼠标事件

Cesium鼠标事件

1.常用的鼠标事件

RIGHT_CLICK 右击
LEFT_CLICK 左击
MOUSE_MOVE 鼠标移动
WHEEL 滚轮

2.使用

var handler = new Cesium.ScreenSpaceEventHandler(window.viewer.scene.canvas)
        handler.setInputAction(function() {
        console.log("aaaa")
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK)//RIGHT_CLICK ,MOUSE_MOVE ,WHEEL 

3.常见拾取操作
这里着重区分pick , pickPosition,getPickRay,注意在使用pick Position时在有地形的情况下要开启深度检测,再一个就是getPickRay是获取的global球上的点,不能获取到模型上的点

//深度检测代码
window.viewer.scene.globe.depthTestAgainstTerrain = true
//获取相机高度代码
var height = viewer.camera.positionCartographic.height
//1.pick拾取球上物体
var handler = new Cesium.ScreenSpaceEventHandler(window.viewer.scene.canvas)
        handler.setInputAction(function(movement) {
       var pick = viewer.scene.pick(movement.position)
       console.log(pick)
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK)

//2.pickPosition拾取坐标点
var handler = new Cesium.ScreenSpaceEventHandler(window.viewer.scene.canvas)
        handler.setInputAction(function(movement) {
      var cartesian = window.viewer.scene.pickPosition(movement.position)
       console.log(cartesian)
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
//3.getPickRay拾取球面上的点
var handler = new Cesium.ScreenSpaceEventHandler(window.viewer.scene.canvas)
        handler.setInputAction(function(movement) {
      let ray = window.viewer.camera.getPickRay(movement.position)
      let cartesian=window.viewer.scene.globe.pick(ray, viewer.scene)
       console.log(cartesian)
      }, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
//4.鼠标移动时点获取
var handler = new Cesium.ScreenSpaceEventHandler(window.viewer.scene.canvas)
        handler.setInputAction(function(movement) {
      let ray = window.viewer.camera.getPickRay(movement.endPosition)//这里是endPosition
      let cartesian=window.viewer.scene.globe.pick(ray, viewer.scene)
       console.log(cartesian)
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE)
//4.滚轮滚动时获取相机高度
var handler = new Cesium.ScreenSpaceEventHandler(window.viewer.scene.canvas)
        handler.setInputAction(function(movement) {
     var height = viewer.camera.positionCartographic.height
       console.log(height)
      }, Cesium.ScreenSpaceEventType.WHEEL)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值