Cesium 点击查询

 


代码

复制代码
let clickHandler = null;

//
function initClickHandler() {
  //初始化
  clickHandler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);

  //绑定左点击事件
  clickHandler.setInputAction((click) => {
    //获取球面坐标 可用于定位 或者渲染点位数据
    let position = viewer.scene.camera.pickEllipsoid(
      click.position,
      viewer.scene.globe.ellipsoid
    );
    //获取射线
    const pickRay = viewer.camera.getPickRay(click.position);

    //imageryLayers 拾取 下面方法会返回一个契约函数
    const promise = viewer.imageryLayers.pickImageryLayerFeatures(
      pickRay,
      viewer.scene
    );

    // entity 拾取
    const entity = viewer.scene.pick(click.position);
  }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

  //绑定右点击事件 可用于清除
  clickHandler.setInputAction(() => {
    clearHandler();
  }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
}

//清除点击事件

function clearHandler() {
  if (clearHandler != null) {
    clearHandler.destroy();
    clearHandler = null;
  }
}
复制代码

 

posted @   小七要走  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示