cesium获取鼠标点击位置

  // cesium获取鼠标点击的位置坐标
  // 首先需要注册cesium鼠标事件,通过cesium的ScreenSpaceEventHandler函数处理用户输入事件
  let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
  // 设置要在输入事件上执行的功能,官方文档查询ScreenSpaceEventType可以看到所有的cesium鼠标事件
  handler.setInputAction((movement:ScreenSpaceEventHandler.PositionedEvent) => {
    
    
    let cartesian3 = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid)
    // 防止点击到地球之外报错,加个判断
    if (cartesian3 && Cesium.defined(cartesian3)) {
    
    
      let cartographic = Cartographic.fromCartesian(cartesian3!)
      let lng = Math.toDegrees(cartographic.longitude)
      let lat = Math.toDegrees(cartographic.latitude)
      let height = cartographic.height;
      console.log(lng, lat, height);
    }
  }, Cesium.ScreenSpaceEventType.LEFT_CLICK)

猜你喜欢

转载自blog.csdn.net/m0_46496355/article/details/125696317
今日推荐