温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Cesium开发中常用地图事件有哪些

发布时间:2022-01-13 16:48:57 来源:亿速云 阅读:138 作者:小新 栏目:大数据

小编给大家分享一下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开发中常用地图事件有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI