#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');
});