Update: 2026-07-06 00:53:15
This commit is contained in:
@@ -85,9 +85,6 @@ foreach ($data as $row) {
|
||||
}
|
||||
|
||||
$distanceKm = (float)($resultData['distance_km'] ?? 1);
|
||||
if ($distanceKm <= 0) $distanceKm = 1; // Prevent division by zero
|
||||
$pricePerKm = $amount / $distanceKm;
|
||||
|
||||
$durationMin = isset($resultData['duration_min']) ? (int)$resultData['duration_min'] : null;
|
||||
|
||||
$startLat = $resultData['start_lat'] ?? null;
|
||||
@@ -95,6 +92,20 @@ foreach ($data as $row) {
|
||||
$endLat = $resultData['end_lat'] ?? null;
|
||||
$endLng = $resultData['end_lng'] ?? null;
|
||||
|
||||
// --- OSRM Integration (Dynamic Distance & Duration) ---
|
||||
require_once __DIR__ . '/../core/osrm_routing.php';
|
||||
if ($startLat && $endLat && (!$durationMin || $durationMin <= 0)) {
|
||||
$osrmResult = getOsrmRouteDetails($startLat, $startLng, $endLat, $endLng);
|
||||
if ($osrmResult) {
|
||||
$distanceKm = $osrmResult['distance_km']; // Override with accurate OSRM distance
|
||||
$durationMin = $osrmResult['duration_min'];
|
||||
}
|
||||
}
|
||||
// ------------------------------------------------------
|
||||
|
||||
if ($distanceKm <= 0) $distanceKm = 1; // Prevent division by zero
|
||||
$pricePerKm = $amount / $distanceKm;
|
||||
|
||||
$countryCode = $row['country_code'] ?? 'JO'; // Default
|
||||
|
||||
if ($stmt->execute([
|
||||
|
||||
Reference in New Issue
Block a user