首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openlayers 6-暂停渲染

Openlayers 6-暂停渲染
EN

Stack Overflow用户
提问于 2020-07-20 17:27:52
回答 3查看 495关注 0票数 0

如何在openlayers 6中暂停图层/地图渲染?在地图上滚动或拖动时,性能很差。我只想在'moveend‘之后渲染我的地图。

EN

回答 3

Stack Overflow用户

发布于 2020-07-20 20:40:41

  1. 您可以检查矢量层上的updateWhileAnimatingupdateWhileInteracting是否已设置为true。如果它们是false (默认值),您将获得更好的性能。请参阅https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html

  1. 您是否在使用样式缓存?这对性能有很大的帮助。请参阅http://openlayersbook.github.io/ch06-styling-vector-layers/example-07.html

  1. 你渲染了多少个对象?非常高的数字将影响performance.

  1. 您渲染的是哪种类型的对象?我见过(并报告过)具有多种样式的线条渲染速度非常慢的情况。在这种情况下,更简单的样式有很大帮助。
票数 2
EN

Stack Overflow用户

发布于 2020-07-29 02:11:42

在交互和动画过程中使用ol/layer/VectorImage进行更快的渲染,但代价是渲染的精确度较低。请参阅https://openlayers.org/en/latest/examples/image-vector-layer.html

票数 1
EN

Stack Overflow用户

发布于 2020-07-21 00:19:50

我找到了一个解决方案:

代码语言:javascript
复制
map.on('movestart', () => {
    layers.forEach(layer => {
        layer.setExtent(map.getView().calculateExtent());
    });
});

map.on('moveend', () => {
    layers.forEach(layer => {
        layer.setExtent(undefined);
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62992446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档