gs地图开发_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文档中都能进行找到使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值