在 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 的当前 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
我使用 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 的当前 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