打开图层压缩的图块,直到页面放大

时间:2018-11-26 13:27:24

标签: javascript openlayers

在初始加载时,地图图块会被压缩,或者有时无法正确显示,如下图所示。放大和缩小页面(而不是地图)时,此问题已修复。

这是在2K屏幕上查看页面时,有关如何解决此问题的任何建议?

enter image description here

1 个答案:

答案 0 :(得分:0)

我仍然不确定为什么会发生这种情况,但是我发现一旦加载完成,在地图上调用 updateSize 方法就可以解决此问题。

我在跟踪瓷砖加载时间的方法中使用此方法:

checkTilesLoaded() {
    let totalStarted = 0;
    let totalLoaded = 0;

    this.state.source.on('tileloadstart', () => {
        totalStarted += 1;
    });

    this.state.source.on('tileloaderror', () => {
        totalLoaded += 1;

        if (totalLoaded === totalStarted) tilesLoaded();
    });

    this.state.source.on('tileloadend', () => {
        totalLoaded += 1;

        if (totalLoaded === totalStarted) tilesLoaded();
    });

    const tilesLoaded = () => {

        this.map.updateSize();

        this.setState({
            mapLoaded: true
        });
    }
}