检查挂起的地图重绘

Check for a pending map redraw

有没有办法检测挂起的地图重绘?例如

map.getView.setCenter([x, y])

如果x和y与当前中心相同,则不会导致地图重绘,但如果它们与当前视图中心不同,则会导致重绘。 (至少我是这么看的,如有错误请指正)。

所以我想检查一下地图,看看是否会发生重绘。显然,在这个简单的示例中,我可以自己测试 x、y 值,但我正在做一些类似的事情,所以如果我可以在最后检查一次地图,那会更清晰。

这就是我想要的。我还是觉得应该有更好的办法

var pendingRedraw = false;
var movestartHandler = map.on('movestart',  function(evt)  {
    pendingRedraw = true;
});
/*
    code that may, or may not, trigger a map redraw
*/
unByKey(movestartHandler);  // un-register the handler
if (pendingRedraw) {
    // now I know what I want to know! 
}