打开图层压缩的图块,直到页面缩放
Open Layers squished tiles until page zoomed
初始加载时,地图图块被压扁或有时无法正确显示,如下图所示。当页面放大和缩小(不是地图)时,这是固定的。
这是在 2K 屏幕上查看页面时的情况,有什么解决方法的建议吗?
我仍然不确定为什么会发生这种情况,但是我发现在加载完成后调用地图上的 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
});
}
}
初始加载时,地图图块被压扁或有时无法正确显示,如下图所示。当页面放大和缩小(不是地图)时,这是固定的。
这是在 2K 屏幕上查看页面时的情况,有什么解决方法的建议吗?
我仍然不确定为什么会发生这种情况,但是我发现在加载完成后调用地图上的 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
});
}
}