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是否跟着一起动了起来,感觉像漂移一样呢?
4099 0
干货!解决Cesium中Entity移动漂移的问题
Cesium开发:模型实体高亮
Cesium开发:模型实体高亮
899 0
|
开发工具
分享:实现Cesium的地下模式效果
分享:实现Cesium的地下模式效果
438 0
cesium添加实体不被地形遮挡的参数设置
disableDepthTestDistance:指定从相机到禁用深度测试的距离,关于深度测试我们将在后面的文章中介绍到,由于深度测试的存在,我们的对象很多时候会被地形挡住,如下:
2690 0
cesium添加实体不被地形遮挡的参数设置
Cesium系列:加载单个模型
Cesium如何加载单个三维模型数据
915 0
|
存储 算法 Cloud Native
Ganos地理网格引擎支撑无人机路径规划能力实践
随着新能源技术的迅猛发展,低空经济已经逐步成为新的战略性新兴产业,但不同于传统的地表活动,低空活动具有立体性、区域性、融合性等特点,这些特点对于如何安全引导低空活动的顺利开展带来了一系列需要解决的技术问题。Ganos地理网格引擎提供了基于网格的路径规划能力,可以使用DEM、DSM、倾斜摄影等数据构建复杂环境下的无人机路径规划应用。
|
11月前
Cesium制作鹰眼效果
这篇文章介绍了如何在Cesium中实现鹰眼(概览)功能,让用户可以从高空视角俯瞰整个三维地理场景。
233 1
Cesium制作鹰眼效果
|
11月前
|
开发框架 前端开发 定位技术
在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点
通过上述步骤,您可以成功在Mars3D平台上集成Cesium,并实现自定义瓦片图层的层级与原点配置。这一过程不仅提升了地图应用的定制化程度,也为处理特定数据集和优化用户体验提供了灵活的解决方案。在实际开发过程中,不断测试和微调是确保图层展示效果与性能的关键。
633 0
uniapp滚动条置顶效果、自定义页面滚动条的位置(整理)
uniapp滚动条置顶效果、自定义页面滚动条的位置(整理)
|
数据可视化 JavaScript 定位技术
Cesium第1篇,CesiumJS第1篇,CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)
Cesium是一种基于WebGL开源的虚拟地球技术,可以用于构建高性能、跨平台的三维地球应用程序,它支持多种数据格式和地图服务,可以实现地球表面的高精度渲染、地形分析、数据可视化等功能。Cesium还提供了丰富的API和插件,方便开发者进行二次开发和定制化,且可免费商用,在航空航天、国防、城市规划、教育等领域得到了广泛应用。
1177 0
Cesium第1篇,CesiumJS第1篇,CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)