При первоначальной загрузке плитки карты сжаты или иногда не отображаются должным образом, как показано на изображении ниже. Это исправлено при увеличении и уменьшении масштаба страницы (не карты).

Это при просмотре страницы на 2К экране, есть предложения, как это исправить?

enter image description here

-1
Alex 26 Ноя 2018 в 16:27

1 ответ

Лучший ответ

Я до сих пор не понимаю, почему это происходит, однако я обнаружил, что вызов метода 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
        });
    }
}
0
Alex 26 Ноя 2018 в 17:00