在 Openlayers 3 中放大后渲染挂钩期间获得精确分辨率

Get exact resolution during zooming in postrender hook in Openlayers 3

我使用 d3.js 渲染了 openlayers 3 的 "on top" 一些自定义 svg 图层,效果很好。在 postrender-event 期间,我翻译并更新了图层的坐标,这同样可以正常工作。

但是,对于某些图层,我希望根据缩放级别缩放可视对象。我有一个基于 map.getView().getResolution() 的工作解决方案,但它并不十分流畅,因为在缩放期间,getResolution() returns 具有相同的分辨率,直到转换完成。

有什么方法可以在缩放期间更新准确的分辨率?

map.on('postrender', function(event){
    console.log(event.frameState.viewState.resolution);
});

viewState 对象包含 View 的当前 resolutioncenterrotationprojection

相关文档:http://openlayers.org/en/v3.8.2/apidoc/ol.MapEvent.html, http://openlayers.org/en/v3.8.2/apidoc/olx.html#FrameState, http://openlayers.org/en/v3.8.2/apidoc/olx.html#ViewState