如何获得Cesium中的最后一个车轮事件?

How to get the last wheel event in Cesium?

我对车轮事件有疑问。我想在滚轮后获取一些数据,但是当我执行以下操作时:

var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);

handler.setInputAction(function (e) {
    fetchData(e);
}, Cesium.ScreenSpaceEventType.WHEEL);

结果是fetchData函数会被调用多次。我希望它在最后一个 wheel 事件触发后调用一次,而不是在 wheeling 过程中发送无用的请求。

有什么想法吗?

谢谢。

您如何知道 "wheeling process" 何时结束?当滚轮移动时,本机 JS 事件会实时出现,通常滚轮用于滚动或缩放滚轮上的每个槽口。您要根据车轮运动尝试获取哪些数据?

Cesium 的相机 class 也有 a moveEnd event 指示相机何时安定到新位置。如果您尝试获取新数据作为完成相机运动的结果,这可能是一个更好的订阅事件。