BossBey File Manager
PHP:
8.4.18
OS:
Linux
User:
kids
Root
/
home
/
kids
/
public_html
/
app
📤 Upload
📝 New File
📁 New Folder
Close
Editing: mapa2.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mapa do Rio de Janeiro</title> <style> /* Estilo para o mapa */ #map { height: 1000px; width: 100%; } </style> </head> <body> <?php session_start(); //var_dump($_SESSION); require_once "connection.php"; // Define os estilos padrão como ocultos include_once "menu/nav.php"; $sql = "SELECT *, 'aluno' AS origem FROM aluno UNION ALL SELECT *, 'professor' AS origem FROM professor UNION ALL SELECT *, 'responsavel' AS origem FROM responsavel UNION ALL SELECT *, 'usuario' AS origem FROM usuario ORDER BY nivelAcesso ASC"; $markers = array(); $professores = array(); $alunos = array(); $responsaveis = array(); if ($result = $pdo->query($sql)) { while ($row = $result->fetch()) { $cor = ''; // Define a cor do marcador com base no nível de acesso switch ($row['nivelAcesso']) { case 'aluno': $cor = 'blue'; $alunos[] = array( 'lat' => floatval($row['latitude']), 'lng' => floatval($row['longitude']), 'nome' => $row['nome'], 'cor' => $cor, ); break; case 'prof': $cor = 'green'; $professores[] = array( 'lat' => floatval($row['latitude']), 'lng' => floatval($row['longitude']), 'nome' => $row['nome'], 'cor' => $cor, ); break; case 'resp': $cor = 'yellow'; $responsaveis[] = array( 'lat' => floatval($row['latitude']), 'lng' => floatval($row['longitude']), 'nome' => $row['nome'], 'cor' => $cor, ); break; } // Adicione as informações do marcador ao array principal (opcional) $markers[] = array( 'lat' => floatval($row['latitude']), 'lng' => floatval($row['longitude']), 'nome' => $row['nome'], 'cor' => $cor, ); } } ?> <!-- Div para exibir o mapa --> <div id="map"></div> <script> // Função de retorno para carregar a API do Google Maps de forma assíncrona function initMap() { // Coordenadas do Rio de Janeiro var rioDeJaneiro = { lat: -22.908333, lng: -43.196388 }; // Crie um mapa com as coordenadas do Rio de Janeiro var map = new google.maps.Map(document.getElementById('map'), { center: rioDeJaneiro, zoom: 8 }); // Chame as funções para adicionar os marcadores adicionarMarcadoresAlunos(map); adicionarMarcadoresProfessores(map); adicionarMarcadoresResponsaveis(map); } // Função para adicionar marcadores de alunos ao mapa function adicionarMarcadoresAlunos(map) { var alunos = <?php echo json_encode($alunos); ?>; for (var i = 0; i < alunos.length; i++) { criarMarcador(alunos[i], map); } } // Função para adicionar marcadores de professores ao mapa function adicionarMarcadoresProfessores(map) { var professores = <?php echo json_encode($professores); ?>; for (var i = 0; i < professores.length; i++) { criarMarcador(professores[i], map); } } // Função para adicionar marcadores de responsáveis ao mapa function adicionarMarcadoresResponsaveis(map) { var responsaveis = <?php echo json_encode($responsaveis); ?>; for (var i = 0; i < responsaveis.length; i++) { criarMarcador(responsaveis[i], map); } } // Adicione um marcador ao mapa function criarMarcador(markerData, map) { var marker = new google.maps.Marker({ position: { lat: markerData.lat, lng: markerData.lng }, map: map, title: markerData.nome, icon: { url: "https://maps.google.com/mapfiles/ms/micons/" + markerData.cor + ".png", scaledSize: new google.maps.Size(32, 32) } }); var infowindow = new google.maps.InfoWindow({ content: markerData.nome }); marker.addListener('click', function () { infowindow.open(map, marker); }); } </script> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAki4atbA8ey0lMY4ByHeF8qaGWvQ8HlGM&callback=initMap"></script> </body> </html>
Save
Cancel