Descrição do projeto
TraduzidoA lógica é simples. Um visitante chega à página, é oferecida geolocalização ou ele digita um endereço no campo de busca — e imediatamente vê os locais mais próximos em um mapa ao vivo. Quando os marcadores estão próximos, eles devem se agrupar em um grupo com um número que se separa à medida que você dá zoom, para que uma cidade densa não se transforme em uma pilha de pinos ilegíveis. Um filtro de raio (digamos, 5, 10, 25 km) estreita a seleção, e a lista de resultados ao lado do mapa deve estar sincronizada: clicar em um cartão destaca o marcador e vice-versa. Cada local precisa de um cartão organizado com o nome, endereço completo, horários, telefone e um link para direções no aplicativo de mapas do usuário.
Os dados virão de uma tabela ou um pequeno painel administrativo que podemos editar nós mesmos sem tocar no código, então a fonte de localização deve ser configurável, não codificada em arquivos. A geocodificação de endereços pode ser feita antecipadamente e armazenada em cache. Responsividade, velocidade e acessibilidade são importantes para mim, comportamento móvel correto e uso razoável de cota de API. Leaflet com azulejos abertos está bom; se você sugerir uma pilha diferente, explique o porquê.
— Bloco de mapa incorporável estilizado para combinar com o site, totalmente responsivo
— Busca de endereço e geolocalização opcional do navegador para centralização
— Filtro de raio e lista de resultados em sincronização bidirecional com marcadores
— Agrupamento de marcadores com expansão/colapso suave ao dar zoom
— Cartões de localização: nome, endereço, horários, telefone, link de direções
— Fonte de localização editável (tabela ou painel administrativo simples) com cache de geocodificação