cesium 实体无法拾取

2024-01-22 03:50
文章标签 无法 cesium 实体 拾取

本文主要是介绍cesium 实体无法拾取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

坐标拾取和对象拾取方法

cesium的四种点击拾取方法_cesium 获取entity_中亿丰数字科技集团有限公司的博客-CSDN博客

在确定方法没问题后,我们说一下特定场景拾取不到entity的问题。

如下图,功能要求展示范围边界,以及楼栋拉高实体,并且范围和楼栋都可以点击。

实体加载代码:

  this.viewer.entities.add({

              name: "boderLine",

              polygon: {

                  hierarchy: Cesium.Cartesian3.fromDegreesArray(poly),

                  material: new Cesium.Color.fromCssColorString("rgba(255, 255, 255,0)"),

                  outline: true,

                  outlineColor: Cesium.Color.RED,

                  outlineWidth: 3.0,

             },

})

解释下为什么给填充色透明度为0:如果你不设置填充色或者直接用polyline实体,这样你是无法实现点击范围面的效果,只能点击边界线,很显然,对用户不友好。

楼栋加载代码:

 this.viewer.entities.add({

             name: 'buildPolygon',

             polygon: {

                  hierarchy: Cesium.Cartesian3.fromDegreesArray(lonLatArr.flat()),

                  extrudedHeight: 20,

                  material: Cesium.Color.WHITE.withAlpha(0.8) // 设置为半透明的白色

            },

 })

以上加载完后,发现无论怎么点击,获取到的都是边界实体。

很显然 边界线实体顶部高于楼栋面。因为viewer.scene.pick()只能获取一个对象,并且是最顶部的对象。暂时不清楚这样的渲染原理,如果不给实体高度,渲染感觉就会糊在一起。

于是给边界线一个微小高度,点击就能正常拾取。只能先这么解决了,有大佬路过知道原因的请指明一下。

extrudedHeight: 0.001,

这篇关于cesium 实体无法拾取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631774

相关文章

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

使用@Slf4j注解,log.info()无法使用问题

《使用@Slf4j注解,log.info()无法使用问题》在使用Lombok的@Slf4j注解打印日志时遇到问题,通过降低Lombok版本(从1.18.x降至1.16.10)解决了问题... 目录@Slf4androidj注解,log.info()无法使用问题最后解决总结@Slf4j注解,log.info(

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数

Clion不识别C代码或者无法跳转C语言项目怎么办?

如果是中文会显示: 此时只需要右击项目,或者你的源代码目录,将这个项目或者源码目录标记为项目源和头文件即可。 英文如下:

解决ubuntu系统无法与FinalShell无法连接问题

问题 解决方案 先下载ubuntu网络工具 sudo apt install net-tools 输入密码 下载完成后进入管理员模式查看密码 sudo -i hostname -I 查看IP 得到ip地址后再继续安装 openssh-server 插件 sudo apt-get install openssh-server 问题解决 尝试连接Fina

gazebo 已加载模型但无法显示

目录 写在前面的话问题一:robot_state_publisher 发布机器人信息失败报错一 Error: Error document empty.报错二 .xcaro 文件中有多行注释成功启动 问题二:通过 ros2 启动 gazebo 失败成功启动 问题三:gazebo 崩溃和无法显示模型问题四: 缺少 robot_description 等话题正确的输出 写在前面的话

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,