Заведите переменную isMoving = false, которая будет равна true пока камера двигается. Соответственно, перед запуском надо проверить, чему она равна!
Зачем вы так странно анимируете камеру(путём установки 3000 setTimeout-ов (строки 81-92, код выше), например, есть tween.js для анимации)
Исправленный код
https://codepen.io/Malleys/pen/gEqrJL?editors=0010