Lojas no Mapa: Geo-Localizações, Cores por Tipo e Pesquisa de Proximidade
NOVOAs lojas dos jogadores agora aparecem como pins coloridos no mapa-múndi 2D. Cada loja possui uma localização geográfica e um tipo — para que você possa ver num relance onde estão lojas de ferragens, alimentos, academias e outros negócios ao redor do mundo.
Ainda melhor: agora você pode pesquisar lojas perto da sua localização por raio. Procurando uma academia num raio de 50 km? Basta digitar a distância, escolher uma categoria e clicar em pesquisar.
Tipos de Loja e Cores
Cada proprietário de loja escolhe um tipo ao criar ou editar sua loja. Cada tipo tem sua própria cor e ícone no mapa:
Pins no Mapa
Ao abrir o mapa-múndi, as lojas com localização definida aparecem como pins coloridos. Passe o mouse sobre um pin para ver:
- Nome e tipo da loja
- Breve descrição
- Moeda (CC ou KC)
- Número de produtos
Clique num pin para ir diretamente àquela loja e navegar pelos seus produtos.
Os pins usam a mesma projeção geoNaturalEarth1 das formas de países pré-renderizadas, portanto alinham-se perfeitamente com o mapa. Eles são redimensionados automaticamente ao ampliar ou reduzir o zoom.
Pesquisa de Proximidade
No painel de lojas, você encontrará uma nova barra de pesquisa ”📍 Perto de mim”:
- Escolha uma categoria — por exemplo, Fitness, Alimentos, Ferragens ou “Todos os tipos”
- Defina o raio — em quilômetros (padrão: 50 km)
- Clique em Pesquisar — o sistema encontra todas as lojas daquele tipo dentro do seu raio
A pesquisa usa a localização do seu país de origem por padrão. Se o seu navegador suportar geolocalização, você também pode usar a sua posição GPS real para resultados mais precisos.
Os resultados mostram o nome de cada loja, tipo, moeda, contagem de produtos e distância em quilômetros. Clique num resultado para mudar instantaneamente para essa loja.
Nos bastidores, a pesquisa usa a fórmula de Haversine — o mesmo cálculo de distância de grande círculo usado em navegação — para computar distâncias precisas entre a sua localização e cada loja geo-localizada.
Para Proprietários de Lojas
Se você possui uma loja, agora pode definir a sua localização e tipo de loja:
- Abra Minha Loja no painel de lojas
- Clique na sua loja para ver a vista de detalhes
- Clique em ”📍 Definir Localização” (ou “Atualizar Localização” se já tiver uma)
- Clique no mini-mapa para definir a posição da sua loja
- Escolha um tipo de loja no seletor codificado por cores
- Clique em Guardar
A sua loja aparecerá imediatamente como um pin colorido no mapa-múndi, e outros jogadores podem encontrá-lo através da pesquisa de proximidade.
Também pode definir a localização e o tipo durante a criação da loja — o formulário agora inclui ambos os campos.
Como Funciona nos Bastidores
Coordenadas Geográficas na Base de Dados
A tabela shop_channels agora armazena as colunas lat, lng e shop_type. A migração é executada automaticamente no arranque do servidor — não são necessárias alterações manuais na base de dados.
Dois Novos Endpoints de API
GET /shop/map-pins retorna todas as lojas ativas com coordenadas geográficas para renderização no mapa. GET /shop/nearby?lat=&lng=&radius_km=&category= realiza a pesquisa por raio com um pré-filtro de caixa delimitadora e cálculo preciso de distância Haversine.
Correspondência de Projeção
O mapa 2D usa caminhos SVG pré-renderizados a partir de uma projeção geoNaturalEarth1. Os pins das lojas usam a mesma projeção em tempo de execução para converter lat/lng em coordenadas SVG, garantindo alinhamento perfeito com as fronteiras dos países.
O Que Vem a Seguir
Esta versão adiciona a base para o comércio com consciência geográfica no ENLIGHTENMENT. Melhorias futuras incluem:
- Agrupamento de lojas em níveis altos de zoom (agrupar pins próximos)
- Planeamento de rotas — ver como viajar até uma loja física
- Avaliações e classificações de lojas
- Lojas em destaque no mapa
- Diretórios de lojas por região
ENLIGHTENMENT é um jogo baseado em blockchain de crescimento pessoal, exploração arquetípica e ressonância coletiva. Junte-se a nós em getplasma.org.