2015-11-09 4 views
1

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

var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas); 

handler.setInputAction(function (e) { 
    fetchData(e); 
}, Cesium.ScreenSpaceEventType.WHEEL); 

Результат является то, что функция fetchData будет вызываться несколько раз. Я хочу, чтобы он просто вызывал один раз после запуска последнего события колеса, а не отправлял бесполезный запрос в процесс колес.

Любые идеи?

Спасибо.

ответ

3

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

Класс камеры Цезия также имеет a moveEnd event, который указывает, когда камера расположилась в новом месте. Если вы пытаетесь получить новые данные в результате завершенного движения камеры, это может быть лучшее событие для подписки.