代码之家  ›  专栏  ›  技术社区  ›  Sasha Kos

cesuim句柄计时器单击

  •  2
  • Sasha Kos  · 技术社区  · 7 年前

    如何处理Cesuim计时器点击? 在回拨中得到点击时间是很舒服的。 我几乎可以肯定它是被实现的,所以我在寻找类似的东西。

    function handleClick(event) {
      console.log(event.CLICKED_DATETIME);
    }
    
    viewer.timebar.ON_TIMEBAR_CLICK = handleClick;
    

    谢谢。

    2 回复  |  直到 7 年前
        1
  •  2
  •   emackey    7 年前

    是的,这很简单。这里是 what Viewer does 目前:

    viewer.timeline.addEventListener('settime', onTimelineScrubfunction, false);
    

    但是,有些警告:

    • 如果用户“Scrubs”(将当前时间条拖过时间线),则此事件将非常迅速地触发。一次准备好很多事件,比如鼠标移动或触摸/指针移动。不要试图在事件期间设置地球仪的动画,只需设置一些变量以在下一个动画帧上生效。 like Viewer does .

    • 这个API在技术上是“私有的”,这意味着它在没有铯的正常折旧政策的情况下,任何释放都会发生变化。尽管如此,这是获得这个事件的唯一方法,所以继续使用它,特别是在阅读了发行说明中的任何时间线更改之后,要小心地重新测试它(这是不常见的,因为时间线已经很长一段时间是静态的,但总有一天会发生完全的替换)。

        2
  •  2
  •   Sasha Kos    7 年前

    不是太优雅,但也是一种选择

    viewer.timeline.container.onmouseup = (e) => {
      console.log(viewer.clock.currentTime);
    }