我有一个简单的代码来动画指南针图标,以反映瓶中相机当前的方向比旋转。代码如下:
viewer.camera.changed.addEventListener(rotateCompass);
viewer.camera.moveEnd.addEventListener(rotateCompass);
function rotateCompass() {
document.getElementById('compass').style.transform =
`rotate(-${viewer.camera.heading}rad)`;
}
找到了一个解决方案,绑定的侦听器对viewer.clock.onTick
而不是在相机上自行更改。Compass现在只用1个侦听器和1个功能来很好地反映相机的前进:
viewer.clock.onTick.addEventListener(rotateCompass);
function rotateCompass() {
compass.style.transform = `rotate(${viewer.camera.heading}rad)`;
}