【Cesium】鼠标点击底图拾取坐标、图层

文章介绍了如何使用Cesium的ScreenSpaceEventHandler来处理鼠标点击事件,特别是左击时拾取地图上的经纬度坐标和图层。通过监听LEFT_CLICK事件,结合pickPosition和getPickRay方法,可以获取到点击位置的地理坐标和图层信息。
摘要由CSDN通过智能技术生成

 当我们遇到需要点击三维底图拾取图层做相关处理的需求时,需要怎么实现呢?

 

Cesium常用的鼠标事件包括左击、右击,左键双击等,分别对应Cesium.ScreenSpaceEventType.LEFT_CLICK、Cesium.ScreenSpaceEventType.RIGHT_CLICK、Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK。

其他诸如鼠标中键点击、左键按下/弹起等,若有需要可自行百度查询。用法如下:

let handler1 = new Cesium.ScreenSpaceEventHandler(_viewer.scene.canvas);
handler1.setInputAction(async function(event) {}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

当进入页面,添加鼠标的点击事件监听,以鼠标左击为例。该事件返回鼠标在屏幕点击的位置,再调用 pickPosition 方法即可转为笛卡尔坐标,通过笛卡尔坐标可以转换成经纬度坐标。

		const that = this
        const _viewer = window.viewer
        let handler1 = new Cesium.ScreenSpaceEventHandler(_viewer.scene.canvas);
        handler1.setInputAction(async function(event) {
            // 1. 拾取经纬度坐标
           	let cartesian
         	if(viewer.scene.pickPosition(event.position)){
            	cartesian = viewer.scene.pickPosition(event.position);
          	}else{
            	cartesian = viewer.camera.pickEllipsoid(event.position)
          	}
            let cartographic = Cesium.Cartographic.fromCartesian(cartesian);
            let lng = Cesium.Math.toDegrees(cartographic.longitude); // 经度
            let lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
            // 2. 拾取图层
            let pickRay = viewer.camera.getPickRay(event.position);
            let pickLayer = viewer.imageryLayers.pickImageryLayers(pickRay, viewer.scene)
           
        }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

以上就是鼠标左击拾取坐标、图层的实现方法^-^

cjsnyxz
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium 实战 - 调整色调、对比度等参数,加载渲染暗黑底图
linzi19900517的博客
10-23 1028
Cesium 实战 - 调整色调、对比度等参数,加载渲染暗黑底图
Cesium使用鼠标中键,视角不进入地下
07-31
使用Cesium的同志们,肯定会被拖动鼠标中键时,一不小心视角就会进入地下的问题所困扰,因为Cesium地球引擎并没有处理这个问题。这个问题已经解决,希望能给大家带来帮助
Cesium 点击获取模型表面经纬度高程坐标(三维坐标
qq_17627195的博客
06-28 5862
下面代码适用于 模型表面 三维坐标。注意: 说明一下:viewer.scene.pickPosition(e.position)在没有3dTile模型下的笛卡尔坐标不准问题,可以通过开启深度检测解决 viewer.scene.pick: 返回中指定位置的顶端的primitive属性的一个对象。适用于选取3dTile,改变3dTile的属性(例如颜色)。viewer.scene.pickPosition: 返回一个被屏幕坐标和深度缓存指定的点。适用于模型表面位置的选取,通俗的说就是camera看过去第一个被挡
cesium 三维点击地图获取经纬度坐标
ctf_0226的博客
08-01 408
【代码】cesium 三维点击地图获取经纬度坐标
Cesium 点击获取经纬度(二维坐标
qq_17627195的博客
06-15 2046
Cesium 经纬度,球表面经纬度,二维坐标
cesium常见操作:鼠标点击获取对象
happy81997的博客
02-27 3885
Cesium 的场景组织中,有那么几个容器构成了三维世界:Scene:包括了 Globe,除了 Globe 的元素外,还加上了 Primitive、Entity、DataSource 等三维物件Globe:包括了 Ellipsoid,还包括了所有的影像图层地形瓦片,可以算是椭球体上面的皮肤Ellipsoid:一个数学公式所定义的旋转椭球体,代表一个纯粹的地球椭球形状。
66.(cesium篇)cesium鼠标移动获取地图信息.zip
06-13
该资源包的执行效果查看地址:https://blog.csdn.net/m0_60387551/article/details/123184049 “地图之家”专栏中的“66.(cesium篇)cesium鼠标移动获取地图信息”。如下载有问题,可联系博主。 解压密码:cesium
Cesium鼠标点击地图在点击的位置画点
A42D36的博客
11-14 678
Cesium中实现鼠标点击地图在点击的位置画点
Cesium 地图显示鼠标经纬度和高度
02-23
在事件处理器中,我们可以调用`viewer.camera.pickEllipsoid()`方法获取鼠标在地图上的位置,再通过`Cesium.Cartographic`对象转换为地理坐标(经度、纬度): ```javascript var handler = new Cesium....
Cesium获取鼠标点击位置
hhuangjinfeng的博客
05-19 1154
Cesium获取鼠标点击位置。
Cesium 静止鼠标中键调整视角到地下(带地形时)
05-25
Cesium调整视角时会进入地下,相机会从地下看地上网格,体验很不好。此代码控制相机俯角,禁止相机俯角从下往上看,同时可以再把视角拉高。 使用方法 在页面Cesium初始化viewer后加入代码,Jquery动态加载js方式:$.getScript("js/disableUndergroud.js");
Cesium基础学习】拾取坐标
警警的博客
05-16 2004
关于注意事项,需要根据具体的业务场景和需求进行判断和处理。在实际应用中,通常需要根据拾取到的物体进行相应的业务逻辑处理,例如显示信息窗口、执行特定操作等。在Cesium中,可以通过鼠标拾取获取场景中的地理坐标和高度信息。通常,拾取地理坐标的方式可以分为两种:屏幕空间拾取和地理空间拾取。),否则在没有没有3dTile模型的情况下,会出现空间坐标不准的问题。,并且是最顶部的对象。如果拾取点没有对象,则会返回undefined。在有地形的情况下误差较大,在使用时需要关闭深度测试。
Cesium鼠标点击获取坐标值方法计算
你们瞎搞
01-12 1055
这个是根据鼠标点击的是地形还是模型,动态识别获取对应目标上的经纬度和高程数据,window.mapViewer则是创建的Cesium地图对象;
cesium点击获取地图图层
weixin_43791670的博客
12-10 1427
let hander = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas); hander.setInputAction(function (evt) { let pickRay = viewer.camera.getPickRay(evt.position); let layers = viewer.imageryLayers.pickImageryLayers(pickRay, viewer.scene) cons.
cesium拾取屏幕上指定点的真实坐标
qq_27816785的博客
03-03 2144
// 方式三: 从场景的深度缓冲区中拾取相应的位置,可以采集entity,primitive,3dtile // 当拾取区域无entity,primitive,3dtile时,将返回一个无法预料的坐标(标准椭球面以下,无法使用,无法预料) let cartesian3 = viewer.scene.pickPosition(movement.position); if (cartesian3) { this.pickInfoOption3.show = true // 下面两个都行 .
Cesium坐标拾取---坐标测量
Wangzx的博客
07-09 685
1.鼠标左键点击地图,在该处使用红色圆点进行标记;2.在标记点上方显示经纬度及海拔高度;3.鼠标右键点击清除所有标记,并取消左键点击标记功能。
cesium 4种拾取坐标的方法
weixin_43845059的博客
07-14 3118
cesium 4种拾取坐标的方法
关于cesium如何鼠标获取坐标的方法
qq_42074266的博客
07-31 379
【代码】关于cesium如何鼠标获取坐标的方法。
cesium鼠标点击绘制箭头
最新发布
09-12
Cesium是一个用于创建3D地球仪和...这个代码示例中,当用户在地图上点击鼠标左键时,会在点击的位置创建一个红色的点以及一个指向东方的文本箭头。在实际应用中,可能需要更复杂的逻辑来创建一个更真实的3D箭头模型。
写文章

热门文章

  • 【微前端】使用无界嵌入子应用 3689
  • 【高德地图】点的分组聚合 1429
  • 【Cesium】卷帘对比 1006
  • 【可视化开发】鼠标移到ECharts地图显示酷炫效果 936
  • 【Cesium】鼠标点击底图拾取坐标、图层 899

最新评论

  • 【微前端】使用无界嵌入子应用

    CSDN-Ada助手: 恭喜您写了第10篇博客,标题看起来十分有趣。对于无界嵌入子应用的使用,您的经验分享会对许多读者有所帮助。接下来,我希望您能够继续创作,分享更多有趣的前端知识。或许您可以考虑写一篇关于微服务的博客,这也是目前前端领域热门的话题之一。再次感谢您的分享,期待您的下一篇博客。 CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply10 看奖励名单。

  • 【Vue3.3】新特性

    CSDN-Ada助手: 非常感谢您分享的博客,恭喜您写完了第9篇!看到您的标题是关于Vue3.3的新特性,我很期待能够在您的博客中了解更多有关Vue3.3的知识。我希望您可以继续分享您的经验和见解,让更多的人了解这些新特性,同时也希望您能够尝试更多不同的主题,展示您的多元创作风格。总之,感谢您的付出,期待您的下一篇博客! CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply9 看奖励名单。

  • 【高德地图】自定义覆盖物点的样式

    CSDN-Ada助手: 恭喜您写了这么有价值的博客!自定义覆盖物点的样式确实是一个很实用的功能,感谢您分享了这些知识。期待您继续创作,也希望您能够分享更多关于高德地图的使用技巧和经验,让更多人受益。再次感谢您的分享! CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply7 看奖励名单。

  • 【高德地图】地址关键词模糊检索,重写原生效果

    CSDN-Ada助手: 恭喜您写了第四篇博客,内容非常实用!对于高德地图地址关键词模糊检索的重写,您的经验和技巧无疑会帮助到很多人。希望您能够继续保持创作的热情,分享更多有价值的技术文章。下一步,建议您可以探索其他地图相关的功能,分享您的思考和实践,从而帮助更多人解决实际问题。再次感谢您的分享! CSDN 会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply4 看奖励名单。

  • 【高德地图】点的分组聚合

    CSDN-Ada助手: 非常感谢用户分享的这篇博客,介绍了高德地图的点的分组聚合功能,让我们更加深入了解这一功能的应用。恭喜用户不断创作,分享经验和知识。接下来,建议用户可以进一步探讨高德地图的其他功能,或者分享使用高德地图的实践经验,让更多人受益。谢谢用户的分享! CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply6 看奖励名单。

最新文章

  • 【Cesium】卷帘对比
  • 【微前端】使用无界嵌入子应用
  • 【Vue3.3】新特性
2023年11篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家青岛玻璃钢花盆生产韶关玻璃钢卡通雕塑代理价格玻璃钢雕塑车间优质玻璃钢马雕塑订购淄博玻璃钢人物雕塑重庆雕塑玻璃钢招聘正宗玻璃钢雕塑优质商家闵行区大型玻璃钢雕塑推荐厂家铁岭玻璃钢花盆兰州玻璃钢 雕塑广州番禺钟村卖玻璃钢雕塑玻璃钢和铸铜雕塑有什么区别南京广场玻璃钢雕塑厂家休宁玻璃钢花盆花器佛山玻璃钢仿铜人物雕塑批发特价黔南州商场美陈厂商陕西水果玻璃钢雕塑生产厂家佳木斯小区玻璃钢雕塑生产厂家河南玻璃钢雕塑优势江门发光小品玻璃钢雕塑供应商新疆玻璃钢艺术雕塑方圳玻璃钢雕塑公司莆田园林玻璃钢雕塑批发湖州环保玻璃钢雕塑市场玻璃钢彩色莲花观音雕塑复古玻璃钢花盆长春玻璃钢人物雕塑厂家上海玻璃钢雕塑销售电话池州玻璃钢马雕塑楚雄市玻璃钢雕塑设计生产商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化