2016-12-04 6 views
1

У меня есть карта с использованием цезия через ol3-цезий. Эта карта не использует полное пространство веб-сайта. Я пытаюсь отключить масштабирование прокрутки, чтобы я мог прокручивать вверх и вниз по веб-странице колесиком прокрутки мыши.Отключить колесо прокрутки мыши в цезие

я могу отключить мышь колеса прокрутки масштабирования с:

map3d.getCesiumScene().screenSpaceCameraController.enableZoom = false; 

Однако, это не приносит мне обратно нормальную страницу прокрутки. Событие прокрутки, по-видимому, захватывается цезием и не распространяется.

Как заставить цезий игнорировать или распространять колесо прокрутки мыши в браузере, чтобы пользователь мог прокручивать страницу, даже если курсор находится поверх карты?

ответ

1

Что-то вроде этого должно сделать трюк. Слушайте событие колеса в контейнере цезия, и когда это произойдет, просто прокрутите окно.

var pageStep = 25; 
document.getElementById('yout-cesium-container-id').addEventListener("wheel", function(event) { 
    if (event.deltaY < 0) { 
     window.scroll(0, window.pageYOffset - pageStep); 
    } else { 
     window.scroll(0, window.pageYOffset + pageStep); 
    } 
}); 

Вам по-прежнему необходимо отключить увеличение и уменьшение масштаба в цезие.

map3d.getCesiumScene().screenSpaceCameraController.enableZoom = false; 
+0

Это прекрасное обходное решение, спасибо. Это выглядит немного порывистым по сравнению с гладкой прокруткой браузера, но он будет делать трюк в отсутствие более родного решения. –