在Openlayers 3中放大postrender钩子时获得精确的分辨率

时间:2015-08-23 02:50:07

标签: openlayers-3

我有一些使用d3.js在openlayers 3“顶部”呈现的自定义svg图层,效果很好。在postrender事件期间,我翻译并更新我的图层的坐标,再次,它可以正常工作。

但是,对于某些图层,我希望根据缩放级别缩放视觉对象。我有一个基于map.getView()。getResolution()的工作解决方案,但它不是很平滑,因为在缩放过程中,getResolution()返回相同的分辨率,直到转换完成。

有没有办法在缩放过程中获得有关精确分辨率的更新?

1 个答案:

答案 0 :(得分:2)

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

viewState对象包含视图的当前resolutioncenterrotationprojection

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