Cesium 实现鼠标悬浮事件

本文介绍在Cesium场景下,利用MOUSE_MOVE事件实现动态显示和隐藏点位Label的方法。通过screenSpaceEventHandler监听鼠标移动,使用scene.pick获取当前鼠标位置的实体,实现Label的实时显示与更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	var currentEntity = null;
	var lastEntity = null;
	viewer.screenSpaceEventHandler.setInputAction(function onMouseMove(movement) {
		var pickedFeature = viewer.scene.pick(movement.endPosition);
		if (lastEntity!=null && lastEntity.id != undefined) {
			lastEntity.label.show=false;
		}
		if (Cesium.defined(pickedFeature)) {
			if(pickedFeature.id != undefined){
				currentEntity = viewer.entities.getById(pickedFeature.id._id);
				lastEntity = currentEntity;
				currentEntity.label.show=true;
			}
		}

	}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

项目需要显示悬浮点位label,但是在ScreenSpaceEventType事件类型中并未集成MOUSE_OVER,根据MOUSE_MOVE获取到最后的位置,scene.pick(position)获取当前位置的实体进行操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值