Брошюра: отложенная загрузка картографических листов

#leaflet #lazy-loading

#брошюра #отложенная загрузка

Вопрос:

Как я могу лениво загружать картографические листы при использовании листовки?

Особенно на мобильных устройствах, я не хочу загружать maptiles в начале, потому что большинство моих пользователей никогда не прокручивают вниз до карты.

Ответ №1:

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

Таким образом, плитки не будут запрашиваться до того, как карта станет доступной для просмотра.

Что касается того, как узнать, когда произойдет такая ситуация, вы должны найти множество ресурсов в Интернете и здесь. По сути, вы сравниваете прокрутку документа и положение контейнера карты и прослушиваете событие прокрутки. Более свежее решение использует Intersection Observer.

Ответ №2:

 L.tileLayer(this.settings.tiles   '/{z}/{x}/{y}.jpg', {...})
    .on('tileloadstart', function(event) {
        event.tile.setAttribute('loading', 'lazy');
    });