;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Os melhores destinos turísticos para 2022, segundo guia Lonely Planet

Ilhas Cook lideram a lista na categoria de países a serem visitados - Getty Images
Ilhas Cook lideram a lista na categoria de países a serem visitados Imagem: Getty Images

28/12/2021 17h33

O guia turístico Lonely Planet lançou seu tradicional livro anual de melhores destinos, com sugestões de viagens para 2022 e com a expectativa de que a situação pandêmica permita a maior reabertura do turismo.

O Best in Travel é dividido entre países, regiões e cidades que, segundo a equipe do Lonely Planet, "oferecem uma amplitude de experiências de tirar o fôlego, para inspirar e empolgar".

"Claro que estamos vivendo em um cenário complexo para viagens", agrega o guia.

"Enquanto a pandemia global continua a impactar o mundo, estamos nos esforçando para equilibrar viagem e segurança, e um sentido de cautela junto a nosso infinito desejo de viajar. Dessa forma, nossa lista de 2022 é tanto uma lista de desejos para o futuro quanto uma lista de lugares para visitar agora mesmo."

Veja a seguir a lista completa, que é liderada pelas Ilhas Cook (na categoria de países), pelas paisagens islandesas de Westfjords (na categoria de regiões) e pela neozelandesa Auckland (na categoria cidades).

No ano anterior, no auge da pandemia e em meio às restrições nos deslocamentos, o Lonely Planet havia feito em sua edição 2021 uma celebração de viagens sustentáveis e locais. E antes disso, na edição 2020, a Floresta Amazônica havia entrado no top 10 de principais regiões.

Os melhores destinos para 2022,
segundo o Best in Travel

Países

1. Ilhas Cook

Ao sul do Oceano Pacífico, no meio do caminho entre a Austrália e a costa oeste da América do Sul, está um arquipélago de 15 ilhas descritas como "gotas de terra ao longo de 2 milhões de quilômetros quadrados de Pacífico azul e selvagem" e "ao mesmo tempo remotas e íveis, modernas e tradicionais".

2. Noruega

3. Ilha Mauricio

4. Belize

5. Eslovênia

6. Ilha de Anguila

7. Omã

8. Nepal

9. Malauí

10. Egito

Cidades

Auckland, Nova Zelândia, encabeça a lista de melhores cidades para se visitar - Getty Images - Getty Images
Auckland, Nova Zelândia, encabeça a lista de melhores cidades para se visitar
Imagem: Getty Images

1. Auckland, Nova Zelândia

A cidade neozelandesa mais populosa tem uma vida urbana animada mas também o fácil a praias e reservas naturais. "Não é à toa que Auckland é constantemente citada como uma das melhores cidades do mundo em qualidade de vida", diz o guia.

2. Taipei, Taiwan

3. Freiburg, Alemanha

4. Atlanta, Estados Unidos

5. Lagos, Nigéria

6. Nicósia, Chipre

7. Dublin, Irlanda

8. Mérida, México

9. Florença, Itália

10. Gyeongju, Coreia do Sul

Regiões

Westfjords, na Islândia, lidera a lista nas indicações de regiões - Getty Images - Getty Images
Westfjords, na Islândia, lidera a lista nas indicações de regiões
Imagem: Getty Images

1. Westfjords (Fiordes Ocidentais), Islândia: Região visitada por apenas 10% dos turistas que vão à Islândia, segundo o Lonely Planet, os Fiordes Ocidentais são o local "onde as dramáticas paisagens islandesas alcançam seu clímax e onde o turismo em massa desaparece". A região montanhosa tem praias, fiordes e cachoeiras.

2. Virgínia Ocidental, Estados Unidos

3. Xishuangbanna, China

4. Costa de Kent, Reino Unido

5. Porto Rico, Estados Unidos

6. Shikoku, Japão

7. Deserto do Atacama, Chile

8. Scenic Rim, Austrália

9. Ilha de Vancouver, Canadá

10. Borgonha, França