import React from 'react'; import { Map } from '../ui/map'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../ui/card'; import { Badge } from '../ui/badge'; import { Button } from '../ui/button'; import { MapPin, Navigation, Store, Heart } from 'lucide-react'; /** * Exemplos práticos de uso do componente Map * Demonstra diferentes casos de uso do mundo real */ // 1. Mapa de Loja com Raio de Entrega export function StoreDeliveryMap() { const storeLocation = { lat: -23.5505, lng: -46.6333 }; return (
Área de Entrega
Realizamos entregas em um raio de 5km da nossa loja
Cobertura de 5km
); } // 2. Mapa de Locais Favoritos export function FavoritePlacesMap() { const favorites = [ { position: { lat: -23.5505, lng: -46.6333 }, label: '⭐', title: 'Restaurante Favorito', info: 'Melhor pizza da cidade!', }, { position: { lat: -23.5475, lng: -46.6361 }, label: '☕', title: 'Cafeteria', info: 'Café artesanal', }, { position: { lat: -23.5613, lng: -46.6563 }, label: '🏃', title: 'Parque', info: 'Local de corrida matinal', }, { position: { lat: -23.5558, lng: -46.6396 }, label: '🎬', title: 'Cinema', info: 'Cinema independente', }, ]; return (
Meus Lugares Favoritos
{favorites.length} locais
Lugares que você marcou como favoritos
); } // 3. Mapa de Escritórios da Empresa export function CompanyOfficesMap() { const offices = [ { position: { lat: -23.5505, lng: -46.6333 }, label: 'HQ', title: 'Sede - São Paulo', info: 'Matriz da empresa - 200 funcionários', }, { position: { lat: -22.9068, lng: -43.1729 }, label: 'RJ', title: 'Filial - Rio de Janeiro', info: 'Escritório regional - 80 funcionários', }, { position: { lat: -19.9167, lng: -43.9345 }, label: 'BH', title: 'Filial - Belo Horizonte', info: 'Centro de distribuição - 50 funcionários', }, { position: { lat: -25.4284, lng: -49.2733 }, label: 'CWB', title: 'Filial - Curitiba', info: 'Centro de tecnologia - 120 funcionários', }, ]; return ( Nossos Escritórios Presença em 4 estados brasileiros
{offices.map((office, index) => (
{office.label}

{office.title}

))}
); } // 4. Mapa de Zona de Serviço com Polígono export function ServiceZoneMap() { const serviceZone = { paths: [ [ { lat: -23.54, lng: -46.62 }, { lat: -23.54, lng: -46.66 }, { lat: -23.565, lng: -46.66 }, { lat: -23.565, lng: -46.62 }, ], ], fillColor: '#3B82F6', strokeColor: '#2563EB', }; return ( Área de Atendimento Zona azul indica nossa área de serviço prioritária

Atendimento prioritário: Clientes dentro da zona azul recebem atendimento em até 2 horas.

); } // 5. Grid de Mapas Compactos (Comparação) export function CompactMapsGrid() { const cities = [ { name: 'São Paulo', center: { lat: -23.5505, lng: -46.6333 }, description: 'Maior cidade do Brasil', }, { name: 'Rio de Janeiro', center: { lat: -22.9068, lng: -43.1729 }, description: 'Cidade maravilhosa', }, { name: 'Brasília', center: { lat: -15.7942, lng: -47.8822 }, description: 'Capital federal', }, { name: 'Salvador', center: { lat: -12.9714, lng: -38.5014 }, description: 'Primeira capital', }, ]; return ( Principais Cidades Visão rápida das principais metrópoles brasileiras
{cities.map((city, index) => (

{city.name}

{city.description}
))}
); }