资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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


当前标题:Cesium开发中常用地图事件有哪些
网页路径:http://cdkjz.cn/article/pjgjco.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220