【发布时间】:2014-10-03 21:16:27
【问题描述】:
好的,第一次使用 Cesium。我有一个简单的非高级问题,我在他们的表格上发布了几次,但没有人回应。所以我想我会在这里尝试。
我需要做的就是在调用另一个事件之前弄清楚如何停止一个事件。这是正在发生的事情的一个例子。地球在用户连接上旋转,但如果他们点击“带我回家”等,我需要它停止。
代码如下。
所以 spinGlobe 中的 arg 是 spinRate。如果我在初始连接上传入 0.0,它就不会旋转。完美的。所以我认为如果点击事件(用户点击让我回家)然后调用 spinGlobe(0.0) 地球将停止旋转。但事实并非如此。我可以不动态更改 spinRate 吗?还是我做错了?
spinGlobe( 0.5 )
function spinGlobe( dynamicRate )
var previousTime = Date.now();
viewer.clock.onTick.addEventListener(function( clock ) {
var spinRate = dynamicRate;
var currentTime = Date.now();
var delta = ( currentTime - previousTime ) / 1000;
previousTime = currentTime;
viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
});
}
【问题讨论】:
-
仅供参考,我终于让它工作了。 Cesium那边的人回应道。结果我只需要使用普通的旧 JS 事件侦听器。无论出于何种原因,我都在 Cesium 事件侦听器文档中陷入了困境!所以一切都很好!谢谢!
-
你能说得更具体些吗?
-
@ScottJason:你能分享一下解决方案吗?我想了解更多
标签: javascript rotation cesium