в Цезии динамический вращающийся компас сбрасывается назад до 0, когда он проходит 360

1

У меня есть этот простой код, чтобы анимировать значок компаса, чтобы отразить текущую ориентацию камеры в Цезии, всякий раз, когда я проходил через 360 градусов, компас вращается влево, чтобы сбросить на 0, а не вращаться. Код ниже:

viewer.camera.changed.addEventListener(rotateCompass);
viewer.camera.moveEnd.addEventListener(rotateCompass);

function rotateCompass() {
    document.getElementById('compass').style.transform = 
        'rotate(-${viewer.camera.heading}rad)';
}
Теги:
cesium

1 ответ

1

Нашел решение, связанный слушатель с viewer.clock.onTick а не на камеру, сам изменился. компас теперь отражает заголовок камеры довольно красиво только с одним слушателем и функцией 1:

viewer.clock.onTick.addEventListener(rotateCompass);

function rotateCompass() {
    compass.style.transform = 'rotate(${viewer.camera.heading}rad)';
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню