我有一些使用d3.js在openlayers 3“顶部”呈现的自定义svg图层,效果很好。在postrender事件期间,我翻译并更新我的图层的坐标,再次,它可以正常工作。
但是,对于某些图层,我希望根据缩放级别缩放视觉对象。我有一个基于map.getView()。getResolution()的工作解决方案,但它不是很平滑,因为在缩放过程中,getResolution()返回相同的分辨率,直到转换完成。
有没有办法在缩放过程中获得有关精确分辨率的更新?
答案 0 :(得分:2)
map.on('postrender', function(event){
console.log(event.frameState.viewState.resolution);
});
viewState对象包含视图的当前resolution
,center
,rotation
和projection
。
相关文档: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