Mapa interativo de países visitados

Por The Kaleidr Team · Publicado 16 de agosto de 2026 · 16 min de leitura

Um mapa-múndi interativo com países marcados como visitados ou a visitar, estatísticas de progresso e pesquisa de países.

Um mapa interativo de países visitados permite ao viajante selecionar países num mapa-múndi, marcá-los como visitados ou planeados, guardar esse estado e regressar mais tarde. Ao contrário de um mapa de viagem com pinos de cidades, a geometria principal é a fronteira do país: cada país é um Polygon ou MultiPolygon ligado a um identificador estável e ao estado do utilizador. Uma implementação robusta também define o que conta como país, documenta a fonte das fronteiras, mantém os países pequenos selecionáveis e separa os dados de viagem do estilo do mapa.

As secções seguintes abordam arquitetura de dados, identificadores, política de fronteiras, renderização MapLibre, persistência, acessibilidade, privacidade, transição para o Studio e erros comuns. O contexto do produto encontra-se em Kaleidr Studio. Para mapas de lugares com pinos, consulte Como criar um mapa-múndi de viagem com pinos. Para representar muitos locais, consulte Representar locais num mapa.

Elementos essenciais

  • Polígonos, não pinos: o acompanhamento de países usa fronteiras; as memórias de cidades usam pontos.
  • Conjuntos separados: a geometria partilhada liga-se ao estado pessoal por um ID estável.
  • A contagem é uma política: o denominador de países elegíveis é uma regra de produto, não uma contagem de elementos.
  • Estado antes do estilo: guarde visited / want_to_visit e depois escolha as cores.
  • Transição cuidadosa: um rastreador leve pode conduzir a mapas mais ricos no Studio sem exagerar funcionalidades.

Um mapa-múndi interativo com países marcados como visitados ou a visitar, estatísticas de progresso e pesquisa de países.

O que é um mapa interativo de países visitados?

É um mapa-múndi cujos países funcionam como objetos geográficos interativos em vez de um fundo estático. Normalmente, os utilizadores selecionam um país, marcam-no como visitado ou adicionam-no à lista de desejos, pesquisam pelo nome, veem uma contagem ou percentagem atualizada, guardam o progresso e partilham um resumo geral. O modelo central combina a geometria, um ID estável e o estado de viagem. As decisões de produto são importantes: as fronteiras são politicamente sensíveis, os totais dependem da política de contagem e o histórico detalhado de viagens futuras pode ser privado.

Experiência Geometria principal Ideal para
Mapa de países visitados Polígonos nacionais Acompanhar países, progresso mundial, listas de desejos
Mapa com pinos Pontos Cidades, monumentos, hotéis, restaurantes, memórias
Mapa de rotas Linhas + pontos Viagens de carro, itinerários, percursos
Mapa de diário Pontos + conteúdo Notas, fotografias, datas, histórias

Um rastreador responde quais países foram visitados; um mapa com pinos responde quais lugares específicos foram visitados. Um bom produto pode suportar ambos sem os forçar num único mapa sobrecarregado.

Como guardar a geometria e o estado de viagem?

A arquitetura mais limpa separa dados geográficos de referência do estado pessoal. Os dados de fronteiras guardam identificadores estáveis, nomes de apresentação, geometria Polygon/MultiPolygon, região ou continente opcional, versão do conjunto e elegibilidade segundo a política. O estado do utilizador guarda apenas valores do viajante, como JP: visited ou IS: want_to_visit. O design pode mudar; o histórico não deve mudar. Não codifique o estado do negócio apenas como cor: guarde o estado semântico e deixe o renderizador escolher roxo, turquesa, padrão ou contorno.

Os nomes de países são chaves fracas porque variam idioma, abreviatura, pontuação, convenções, alterações oficiais e transliteração. ISO 3166 é amplamente usado para códigos normalizados, e a agência de manutenção gere os códigos atribuídos (ISO 3166). Documente qual identificador é autoritativo—ISO alpha-2, alpha-3 ou ID do fornecedor—e preserve a correspondência entre elementos geográficos e estado.

GeoJSON suporta Polygon e MultiPolygon; RFC 7946 define a estrutura e usa coordenadas com longitude primeiro (RFC 7946). Muitos países exigem MultiPolygon por incluírem ilhas ou áreas separadas. Para a ordem das coordenadas, consulte Pesquisar um local com latitude e longitude.

A geometria das fronteiras e o estado pessoal são guardados separadamente e unidos por identificadores estáveis para criar o mapa.

Como funcionam os conjuntos de fronteiras e as contagens?

Um rastreador precisa de uma fonte mantida de geometrias nacionais. A Natural Earth publica dados de domínio público nas escalas 1:10m, 1:50m e 1:110m, incluindo conjuntos Admin 0; a documentação distingue países, soberania, unidades cartográficas, subunidades, áreas disputadas e variantes opcionais de perspetiva geográfica (Admin 0 — Countries). Um ficheiro de fronteiras não é uma definição universal. A lista de Estados-Membros da ONU é uma referência possível, mas um produto pode tratar de modo diferente Estados observadores, territórios, dependências, países constituintes ou entidades disputadas (UN Member States). Não trate o número de elementos GeoJSON como o número de países. Torne a elegibilidade explícita e versione a política para manter as percentagens explicáveis.

As fronteiras podem representar disputas políticas e diferentes perspetivas geográficas. Um mapa de consumo não deve sugerir que a interface resolve essas disputas. Documente fonte, versão, política de contagem e tratamento de territórios e inclua um aviso neutro de que fronteiras e totais seguem o conjunto e a política usados. Não gere fronteiras com modelos de imagem ou linguagem; use dados geoespaciais mantidos.

Diagrama de política geográfica que mostra a classificação do conjunto antes de determinar quais entidades contam no progresso.

Como renderizar e atualizar a seleção?

Um rastreador simples carrega GeoJSON numa fonte, desenha uma camada de preenchimento, processa a seleção, atualiza o estado, volta a estilizar elementos e atualiza progresso e lista. MapLibre GL JS renderiza polígonos GeoJSON com uma camada fill (Adicionar um polígono GeoJSON). Altere primeiro o estado da aplicação: mude o estado, persista-o, atualize o estilo do elemento afetado e recalcule as estatísticas. Evite reconstruir todo o conjunto após cada clique. Quando necessário, suporte visitado, quero visitar e não visitado.

import maplibregl from "maplibre-gl";

const visited = new Set(["JPN", "FRA", "CAN"]);

const map = new maplibregl.Map({
  container: "map",
  style: "https://demotiles.maplibre.org/style.json",
  center: [10, 20],
  zoom: 1.2
});

map.on("load", async () => {
  const countries = await (await fetch("/data/countries.geojson")).json();
  countries.features = countries.features.map((feature) => ({
    ...feature,
    properties: {
      ...feature.properties,
      visit_status: visited.has(feature.properties.iso_a3)
        ? "visited"
        : "not_visited"
    }
  }));
  map.addSource("countries", { type: "geojson", data: countries });
  map.addLayer({
    id: "countries-fill",
    type: "fill",
    source: "countries",
    paint: {
      "fill-color": [
        "match",
        ["get", "visit_status"],
        "visited", "#6f5bd3",
        "want_to_visit", "#72c4c9",
        "#d8d8d8"
      ],
      "fill-opacity": 0.65
    }
  });
});

Confirme o esquema real de propriedades antes de implementar. Use cores acessíveis do seu sistema de design, em vez dos valores ilustrativos acima.

Como devem funcionar persistência, acessibilidade e privacidade?

Experiências anónimas podem manter seleções no estado local e armazenamento do navegador no mesmo dispositivo. Experiências autenticadas sincronizam um perfil autorizado no backend entre dispositivos. O renderizador apresenta o estado; não deve ser o sistema de identidade ou persistência. Versione metadados da política junto dos perfis para que atualizações futuras não reescrevam silenciosamente o progresso histórico.

Adicione uma lista pesquisável e sincronizada com o mapa para que países pequenos continuem selecionáveis em dispositivos móveis. Forneça controlos por teclado, foco visível e estado não comunicado apenas por cor. Prefira partilhas gerais—contagens e conjuntos públicos—em vez de exportar por predefinição datas exatas, hotéis, rotas, localização atual ou planos futuros. Trate listas de desejos e viagens planeadas como sensíveis e só publique destinos futuros por escolha explícita.

A IA pode organizar categorias, sugerir camadas urbanas mais densas ou refinar o estilo, mas as seleções do utilizador continuam a ser o histórico autoritativo. Não invente países visitados com conhecimento do modelo.

Onde entra o Kaleidr Studio?

Um rastreador leve pode satisfazer primeiro a intenção de pesquisa e depois conduzir à criação de mapas mais ricos. Kaleidr Studio suporta atualmente criação orientada por prompts, mapas baseados em dados, regiões temáticas, marcadores, camadas, estilo visual, publicação e incorporação. A página pública não documenta um rastreador dedicado com persistência automática por utilizador, contador integrado ou modo específico visitado/lista de desejos; não descreva essas capacidades como atuais até serem implementadas e documentadas. Percurso recomendado: rastreador → guardar ou partilhar → transformar num mapa mais rico → refinar e publicar no Studio. Use geometria mundial generalizada para desempenho, mantenha pequena a carga de estado e carregue detalhes urbanos apenas quando pedidos.

O rastreador avança da seleção para um perfil guardado, mapa detalhado, edição no Studio e mapa de viagem publicado.

Que erros devem as equipas evitar?

Erro Resultado Melhor abordagem
Usar nomes como chave primária A localização quebra o estado Usar identificadores estáveis
Tratar a cor como dados Mudanças de tema quebram a lógica Guardar estado semântico separado
Contar elementos GeoJSON como países Territórios distorcem totais Definir uma política de elegibilidade
Fixar um total universal Pressupostos ficam invisíveis Publicar a política de contagem
Ignorar a perspetiva fronteiriça O mapa parece politicamente autoritativo Documentar fonte e política
Usar pinos em vez de polígonos A intenção nacional não é satisfeita Tornar áreas interativas
Impedir selecionar pequenos Estados Sofrem móvel e acessibilidade Adicionar pesquisa e lista sincronizada
Exigir registo antes do primeiro clique Aumenta a fricção Permitir primeiro estado local quando adequado
Partilhar histórico exato por defeito Aumenta o risco de privacidade Partilhar só o estado geral pretendido
Usar IA como verdade do histórico O estado pode ser inventado Manter as seleções como autoridade

Veredito final

Um mapa interativo de países visitados só é tecnicamente simples se o produto ignorar as decisões que o tornam fiável. O núcleo inclui fronteiras, IDs estáveis, estado de viagem, camada de preenchimento interativa e progresso guardado. As questões difíceis são de produto: o que conta como país, que conjunto seguir, como tratar territórios e áreas disputadas, se o estado persiste entre dispositivos, o que é público e se o mapa nacional pode evoluir para um mapa mais rico de lugares. A melhor experiência começa pela tarefa pesquisada: clicar em países e ver a atualização imediata. A criação mais rica pode vir depois através do Kaleidr Studio quando forem necessários locais, regiões, camadas, estilo e publicação.

Crie um mapa de viagem mais rico com o Kaleidr Studio

Transforme países, cidades, lugares e ideias num mapa interativo personalizável. Comece a criar no Kaleidr Studio quando quiser ir além da seleção de países.

Perguntas frequentes

O que é um mapa interativo de países visitados?

É um mapa-múndi que permite selecionar países e guardar o respetivo estado como visitado, quero visitar ou não visitado.

Em que difere de um mapa com pinos?

O mapa de países realça fronteiras nacionais; o mapa com pinos marca cidades, monumentos, hotéis, restaurantes ou outros locais específicos.

Que dados são necessários?

Geometria de fronteiras—normalmente Polygon ou MultiPolygon—, identificadores estáveis e um registo separado do estado do utilizador.

Posso usar GeoJSON?

Sim. GeoJSON suporta Polygon e MultiPolygon e é amplamente usado em mapas Web.

Que código de país devo guardar?

ISO 3166 alpha-2 ou alpha-3 são escolhas comuns. Use identificadores estáveis e documente a ligação ao conjunto de fronteiras.

Quantos países deve contar?

Não existe um denominador universal. Defina se conta uma referência específica, também Estados observadores, territórios ou outra política documentada.

Por que razão as aplicações mostram totais diferentes?

Podem usar definições, conjuntos de fronteiras ou tratamentos de territórios e áreas disputadas diferentes.

Como tratar fronteiras disputadas?

Use um conjunto mantido, documente a perspetiva ou política e não sugira que a aplicação resolve disputas políticas.

Pode funcionar sem conta?

Sim. O armazenamento local preserva seleções no mesmo dispositivo. Uma conta ajuda na sincronização, cópia de segurança ou partilha duradoura.

O Kaleidr Studio cria mapas de viagem?

Sim. Atualmente suporta criação por prompt com regiões temáticas, marcadores, camadas, estilo, publicação e incorporação. Um contador dedicado por utilizador ou rastreador de alternância não está documentado na página pública.

Referências

@misc{iso_3166_country_codes,
  title  = {ISO 3166 -- Country Codes},
  author = {{International Organization for Standardization}},
  note   = {Accessed 16 August 2026},
  url    = {https://www.iso.org/iso-3166-country-codes.html}
}

@misc{rfc7946,
  title  = {RFC 7946: The GeoJSON Format},
  author = {Butler, Howard and Daly, Martin and Doyle, Allan and Gillies, Sean and Hagen, Stefan and Schaub, Tim},
  year   = {2016},
  publisher = {Internet Engineering Task Force},
  url    = {https://datatracker.ietf.org/doc/html/rfc7946}
}

@misc{natural_earth_admin0,
  title  = {Admin 0 -- Countries},
  author = {{Natural Earth}},
  note   = {Version 5.1.1; accessed 16 August 2026},
  url    = {https://www.naturalearthdata.com/downloads/110m-cultural-vectors/110m-admin-0-countries/}
}

@misc{un_member_states,
  title  = {Member States},
  author = {{United Nations}},
  note   = {Accessed 16 August 2026},
  url    = {https://www.un.org/en/about-us/member-states}
}

@misc{maplibre_geojson_polygon,
  title  = {Add a GeoJSON Polygon},
  author = {{MapLibre}},
  note   = {MapLibre GL JS documentation; accessed 16 August 2026},
  url    = {https://maplibre.org/maplibre-gl-js/docs/examples/add-a-geojson-polygon/}
}

@misc{kaleidr_studio_2026_08_16,
  title  = {Create Custom Maps with AI Map Maker},
  author = {{Kaleidr}},
  note   = {Accessed 16 August 2026},
  url    = {https://kaleidr.com/studio}
}

@misc{kaleidr_docs_2026_08_16,
  title  = {Build with Kaleidr},
  author = {{Kaleidr}},
  note   = {Developer documentation; accessed 16 August 2026},
  url    = {https://docs.kaleidr.com/}
}