Ou: 2.280 marcadores que em sua maioria eu não coletei, não vou visitar todos, e mesmo assim embuti num HTML.
Não era exatamente um segredo, mas também não era algo que eu andava contando por aí: eu estou planejando uma viagem ao Japão. O que talvez mereça contexto é que a loucura cartográfica em massa não partiu de mim.
Uma amiga que morou no Japão um tempo, otaku quase no meu nível, me passou os links dos Google My Maps . Ela alimentou os mapas com um zelo borderline maníaco: templos, cafés, parques, e provavelmente mais categorias que só fazem sentido na cabeça dela. Os mapas vieram separados por região, mais um arquivo só de TOKYO. Por que TOKYO está à parte? Não faço ideia, nunca perguntei, e a vida segue.
A única lista que é minha no pacote é a de tokusatsu : locais de filmagem que fui juntando da internet, porque sim, eu também preciso saber onde o Ultraman “pisou” em 1973.
Recebi tudo como quem recebe um dossiê da CIA, só que em vez de segredos de estado são coordenadas de um ramen que aparentemente eu precisava conhecer.
E sim: eu sei que não vou em todos. Ela sabe. Você sabe. O mapa sabe. Os 2.280 marcadores sabem. É consenso universal. A viagem é real; a ideia de cumprir 100% do roteiro é coisa de protagonista de anime otimista demais.
Fase 1: Exportando o KML do Google My Maps
O My Maps exporta KML por região. Os arquivos saem com nomes bagunçados, mistura de numeração, romaji e kanji. Cada um carrega centenas de pontos acumulados ao longo do tempo.
Quando você junta tudo e olha de zoom afastado, a honestidade é cruel: parece um recorte do mapa japonês comum. Não é “um roteiro de viagem”, é quase uma amostra representativa do arquipélago inteiro em formato de praga de marcadores. Se o Japão fosse um bolo, esse KML seria a fatia onde alguém passou o dedo no glacê e disse “não, ainda não tá suficiente”.
Exportar é fácil. O difícil é usar isso fora do ecossistema Google de um jeito que:
- Não exija abrir o My Maps (porque o app em mobile é… uma experiência);
- Mostre tudo num mapa navegável sem o browser chorar;
- Permita filtrar por região sem perder a sanidade;
- Funcione quando eu quiser consultar, não quando o Google lembrar que o mapa existe.
Ou seja: eu queria um site. Um site simples. Ridiculamente simples. Uma página. Um HTML. A moda minimalista de 1997, mas com Leaflet e sem a estética de GeoCities (minha nostalgia tem limites).
Minha contribuição para a coleção foi modesta (tokusatsu e culpa compartilhada). Minha contribuição técnica começou aqui.
Fase 2: Gerando o site com o Grok Build
O Grok Build (a CLI do Grok para desenvolvimento) gerou boa parte do código. O modelo que fez o trabalho pesado foi o Composer 2.5.
O pedido foi mais ou menos: leia uns KMLs, jogue os pontos num mapa com Leaflet, permita filtrar por região e funcione abrindo o HTML direto no browser, sem servidor.
O que saiu disso:
- Uma pasta
KML/com os exports (a fonte da verdade, ou da obsessão bem-intencionada); - A lista
Tokusatsu.md, que é a parte que eu escolhi e montei; - Um script Python que lê os KML, normaliza nomes (sim, tem romaji agora, porque
湯殿神社merece dignidade); - Um
index.htmlúnico com todos os ~2.280 pontos embutidos no arquivo.
Por que embutidos? Porque quando você abre HTML direto da pasta (file://), o browser bloqueia carregar outros arquivos locais por segurança. A solução é colocar tudo dentro do HTML e deixar o jQuery
e o Leaflet
carregarem da internet. Spoiler: carregam.
Fase 3: O site resultante (e os bugs que vieram junto)
O resultado final mora em cobalto.dev/japantravelplan e faz o básico muito bem:
- Mapa OpenStreetMap com todos os marcadores (cartografia de verdade, não aquele cinza monocromático de “modo escuro” que parece mapa de dungeons);
- Lista lateral por região, com busca;
- Checkboxes para mostrar/esconder fontes no mapa (“só TOKYO”, “só Tokusatsu”, “me arrependo e mostro tudo”);
- Tema claro/escuro só na interface, porque o mapa já é bonito assim, obrigado.
Houve iterações. Teve bug de lista que sumia quando o grupo estava colapsado. Teve filtro em tempo real na busca que deixou o browser lento com 2.280 marcadores. Teve eu quebrando o <title> manualmente e achando que o site tinha morrido. Funciona, quer dizer, às vezes depois de três commits.
O que ficou e o que você pode usar
Se você também recebeu (ou pior, criou) um My Maps até parecer praga cartográfica, o fluxo é simples:
- Exportar KML do My Maps (um arquivo por mapa/região, se quiser organização);
- Rodar o build (
python3 app/build-places.py) quando a lista crescer de novo; - Abrir o
index.html, só esse arquivo já funciona em qualquer lugar com internet, inclusive se você copiar pro celular.
Não precisa do repositório inteiro para ver o mapa. Só do HTML. É quase mágica, se você ignorar os 270KB de JSON inline e a existência do pykakasi
no pipeline.
O que eu aprendi com isso
Eu comecei querendo um jeito melhor de consultar os mapas. Terminei com um mini-produto: build script, normalização de nomes em japonês, cluster de marcadores, filtros, tema escuro na sidebar.
O Google My Maps continua sendo onde a coleção original nasceu. O site é onde eu navego sem culpa, filtrando por região, aceitando que vou visitar uma fração estatisticamente ridícula do total. Os meus 55 marcadores de tokusatsu ficam ali no canto, modestos.
E sim, o Composer 2.5 via Grok Build fez quase tudo. Eu só gerenciei o prompt e corrigi as besteiras que ele inventava.
Se isso te servir de inspiração: KML é portável, HTML é portátil, e uma lista de 2.000 lugares não precisa morrer presa num app que você só abre quando lembra que pagou Google One , mesmo quando você sabe desde o começo que não vai pisar em todos eles.
Agora se me dão licença, preciso escolher quais dos 530 pontos de TOKYO são realisticamente visitáveis. Só isso. Prometo não inflar a lista de tokusatsu. 🤥
Comentários