Cesium开发:常用地图事件

简介: Cesium开发:常用地图事件

在地图开发中,地图移动、鼠标操作等一系列事件,都会使用到,而在地图封装的API中,一般都会进行提供。
Cesium开发中,会使用到对应的一些事件,下边列举一些常用的事件以及事件的使用。

Cesium相机移动结束事件,这个在判断地图场景是否移动完成中进行使用,在移动完后,获取地图的相机坐标或者其他的一些坐标信息。

viewer.scene.camera.moveEnd.addEventListener(function() {
   
 //实现对应的移动结束操作
 });

鼠标移动事件,这个在判断当前地图的鼠标所在位置,获取鼠标位置的坐标,同时能够判断当前鼠标处,是否存在地图中的对象。

var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);

 handler.setInputAction(function (movement) {
   

//鼠标移动的结束坐标,也有起始坐标

 var pickedObject = scene.pick(movement.endPosition);

 //判断当前鼠标处,是否有对象

        if (

          Cesium.defined(pickedObject) &&

          pickedObject.id instanceof Cesium.Entity

        ) {
    
       //实体对象的处理

      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

//鼠标的点击事件,这个是判断数据点击所在的位置

 var handler.setInputAction(function (movement) {
   

//此处就只有鼠标的点击位置了   

 var pickedObject = scene.pick(movement.position);

        if (

 //同样也是判断点击处的对象信息

   Cesium.defined(pickedObject) &&

     pickedObject.id instanceof Cesium.Entity

        ) {
    

        }

      }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

在使用完成后,用以下的方式去移除不需要的事件。
//移除鼠标点击事件
handler.removeInputAction(

          Cesium.ScreenSpaceEventType.LEFT_CLICK

        );

//移除鼠标移动事件

handler.removeInputAction(

          Cesium.ScreenSpaceEventType.MOUSE_MOVE
);

下边的是Cesium场景的实时渲染事件,每间隔很短的一个时间,就会执行一次事件,这个可以判断场景中的一些实时的对象情况。

viewer.scene.preRender.addEventListener(function() {
   

});

其他的还有诸如鼠标的滚轮事件、鼠标按下或抬起的事件,这在Cesium的API文档中都能进行找到使用。

相关文章
|
定位技术
干货!解决Cesium中Entity移动漂移的问题
案例场景:在Cesium开发三维场景展示中,肯定会碰到加载Entity的需求,如果在你的gis应用中,带了地形的展示。那么在旋转切换画面时,Entity是否跟着一起动了起来,感觉像漂移一样呢?
4505 0
干货!解决Cesium中Entity移动漂移的问题
|
存储 Unix Linux
Linux 下文件和目录的本质区别和组成
Linux 下文件和目录的本质区别和组成
715 0
vscode ctrl+/ 注释快捷键失效
首次安装vscode 不知道为何会快捷键失效,首先想到的就是键位冲突! 于是解决了。
6715 0
vscode ctrl+/ 注释快捷键失效
|
4月前
|
人工智能 物联网
Face-to-Photo 模型开源!联名麦橘MERJIC,遇见另一个你!
魔搭 DiffSynth-Studio 团队携手知名创作者麦橘MERJIC,正式开源全新 AI 图像生成模型——Face-to-Photo!该模型基于 Qwen-Image-Edit,采用 LoRA 的模型结构,专为人脸图像生成而优化,将一张普通的人脸照片转化…
747 13
|
11月前
|
Linux
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
695 157
|
存储 算法 Cloud Native
Ganos地理网格引擎支撑无人机路径规划能力实践
随着新能源技术的迅猛发展,低空经济已经逐步成为新的战略性新兴产业,但不同于传统的地表活动,低空活动具有立体性、区域性、融合性等特点,这些特点对于如何安全引导低空活动的顺利开展带来了一系列需要解决的技术问题。Ganos地理网格引擎提供了基于网格的路径规划能力,可以使用DEM、DSM、倾斜摄影等数据构建复杂环境下的无人机路径规划应用。
|
前端开发 JavaScript API
React 文件下载组件 File Download
本文介绍了在React中实现文件下载组件的方法,包括使用`a`标签和JavaScript动态生成文件,解决了文件路径、文件类型、大文件下载及文件名乱码等问题,并展示了使用第三方库`file-saver`和生成CSV文件的高级用法。
322 6
|
开发框架 前端开发 定位技术
在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点
通过上述步骤,您可以成功在Mars3D平台上集成Cesium,并实现自定义瓦片图层的层级与原点配置。这一过程不仅提升了地图应用的定制化程度,也为处理特定数据集和优化用户体验提供了灵活的解决方案。在实际开发过程中,不断测试和微调是确保图层展示效果与性能的关键。
919 0
|
数据可视化 JavaScript 前端开发
Cesium案例解析(五)——3DTilesPhotogrammetry摄影测量3DTiles数据
Cesium案例解析(五)——3DTilesPhotogrammetry摄影测量3DTiles数据
692 0

热门文章

最新文章