我正在使用开放图层4.我正在移动并停止标记动画为this示例,没有任何问题。但是我想添加暂停和继续功能来标记。我编辑了一些变量并努力解决这些函数的问题。当我首先调用continueAnimation
函数时,elapsedTime
参数变为负数,并在moveFeature
函数上给出例外。当我第二次调用continueAnimation
函数时。它按预期工作。它看起来像是一种javascript实现问题。谢谢你的帮助!
function pauseAnimation() {
animating = false;
//I hold elapsed time globally
var index = Math.round($("[id='rightfrm:tbv1:txt1']").val() * elapsedTime / 1000);
(geoMarker.getGeometry()).setCoordinates(line_coordinates[index].lc);
map.un('postcompose', moveFeature);
}
function continueAnimation() {
animating = true;
now = new Date().getTime();
now = now - 10000 + elapsedTime; // --10000-- for negativeness
geoMarker.setStyle(null);
map.on('postcompose', moveFeature);
map.render();
}
答案 0 :(得分:1)
我发现了我的问题。这是一个逻辑错误。暂停并继续工作。
now = new Date().getTime() - elapsedTime;
任何人都可以将这些功能用于暂停/继续功能。