exec("CREATE TABLE IF NOT EXISTS localizacion_taxis ( id INT AUTO_INCREMENT PRIMARY KEY, id_taxi INT NOT NULL UNIQUE, latitud DECIMAL(10, 8) NOT NULL, longitud DECIMAL(11, 8) NOT NULL, ultima_actualizacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (id_taxi) REFERENCES taxis(id) ON DELETE CASCADE )"); $pdo->exec("CREATE TABLE IF NOT EXISTS localizacion_historico ( id INT AUTO_INCREMENT PRIMARY KEY, id_taxi INT NOT NULL, latitud DECIMAL(10, 8) NOT NULL, longitud DECIMAL(11, 8) NOT NULL, fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (id_taxi) REFERENCES taxis(id) ON DELETE CASCADE )"); // Handle historical location submission if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_localizacion_historica'])) { $id_taxi = $_POST['id_taxi']; $latitud = $_POST['latitud']; $longitud = $_POST['longitud']; $fecha_registro = $_POST['fecha_registro']; if (!empty($id_taxi) && is_numeric($latitud) && is_numeric($longitud) && !empty($fecha_registro)) { $stmt = $pdo->prepare("INSERT INTO localizacion_historico (id_taxi, latitud, longitud, fecha_registro) VALUES (?, ?, ?, ?)"); $stmt->execute([$id_taxi, $latitud, $longitud, $fecha_registro]); // Also update the taxi's main location for immediate reflection $stmt_update = $pdo->prepare("UPDATE taxis SET ultima_localizacion_lat = ?, ultima_localizacion_lng = ? WHERE id = ?"); $stmt_update->execute([$latitud, $longitud, $id_taxi]); echo '
Ubicación histórica añadida y ubicación principal del conductor actualizada.
'; } else { echo '
Todos los campos son obligatorios.
'; } } } catch (PDOException $e) { die("Error de base de datos: " . $e->getMessage()); } ?>

Mapa General de Taxis

    Añadir Ubicación Histórica

    Haz clic en un taxi del mapa para rellenar los datos o haz clic en el mapa para obtener coordenadas.