Votre Chauffeur Privé
Marseille • Côte d'Azur

PRIX ESTIMÉ
0€
Distance : -- km
Temps : -- min
let map; let directionsService; let directionsRenderer; function initMap() { const marseille = { lat: 43.2965, lng: 5.3698 }; map = new google.maps.Map( document.getElementById("map"), { zoom: 10, center: marseille } ); directionsService = new google.maps.DirectionsService(); directionsRenderer = new google.maps.DirectionsRenderer({ map: map, polylineOptions: { strokeColor: "#000000", strokeWeight: 7 } }); const departInput = document.getElementById("depart"); const arriveeInput = document.getElementById("arrivee"); const autocompleteDepart = new google.maps.places.Autocomplete( departInput, { componentRestrictions: { country: "fr" } } ); const autocompleteArrivee = new google.maps.places.Autocomplete( arriveeInput, { componentRestrictions: { country: "fr" } } ); autocompleteDepart.addListener("place_changed", calculerTrajet); autocompleteArrivee.addListener("place_changed", calculerTrajet); document.getElementById("passagers") .addEventListener("change", calculerTrajet); document.getElementById("valises") .addEventListener("change", calculerTrajet); } window.initMap = initMap;
function calculerTrajet() { const depart = document.getElementById("depart").value; const arrivee = document.getElementById("arrivee").value; if (!depart || !arrivee) { document.getElementById("prix").innerHTML = "0€"; document.getElementById("distanceLigne").innerHTML = "Distance : -- km"; document.getElementById("tempsLigne").innerHTML = "Temps : -- min"; return; } directionsService.route({ origin: depart, destination: arrivee, travelMode: google.maps.TravelMode.DRIVING, drivingOptions: { departureTime: new Date(), trafficModel: "bestguess" } }, function(result, status) { if (status !== "OK") { console.log(status); return; } directionsRenderer.setDirections(result); const trajet = result.routes[0].legs[0]; const km = trajet.distance.value / 1000; const temps = trajet.duration.text; const minutes = trajet.duration.value / 60; const minutesAvecTrafic = trajet.duration_in_traffic ? trajet.duration_in_traffic.value / 60 : minutes; let prix = Math.round(km * 1.5); if (prix < 20) prix = 20; let details = []; const trajetTexteBrut = JSON.stringify(result).toLowerCase(); const trajetTexte = trajetTexteBrut .normalize("NFD") .replace(/[\u0300-\u036f]/g, "") .replace(/[-\s]/g, ""); if (trajetTexte.includes("pradocarenage")) { prix += 3.30; details.push("Péage Prado Carénage : +3,30€"); } if (trajetTexte.includes("pradosud") || trajetTexte.includes("tunnelprados")) { prix += 2.90; details.push("Péage Prado Sud : +2,90€"); } if (minutes > 45) { prix += 5; details.push("Trajet long (+45 min) : +5€"); } if (minutes > 75) { prix += 5; details.push("Trajet très long (+75 min) : +5€"); } const retardTrafic = minutesAvecTrafic - minutes; if (retardTrafic > 10) { const tranches = Math.floor(retardTrafic / 5); prix += tranches; details.push("Trafic dense (+" + Math.round(retardTrafic) + " min) : +" + tranches + "€"); } const passagers = parseInt(document.getElementById("passagers").value); if (passagers === 3) { prix += 5; details.push("3 passagers : +5€"); } if (passagers === 4) { prix += 10; details.push("4 passagers : +10€"); } const valises = parseInt(document.getElementById("valises").value); if (valises > 3) { alert("❌ Maximum 3 grandes valises autorisées."); return; } prix = Math.round(prix); document.getElementById("prix").innerHTML = prix + "€"; document.getElementById("distanceLigne").innerHTML = "Distance : " + km.toFixed(1) + " km"; document.getElementById("tempsLigne").innerHTML = "Temps : " + temps + (retardTrafic > 10 ? " (trafic dense)" : ""); const blocDetails = document.getElementById("detailsPrix"); if (blocDetails) { if (details.length > 0) { blocDetails.innerHTML = "
" + details.map(d => "• " + d).join("
") + "
"; } else { blocDetails.innerHTML = ""; } } }); } const societeCheck = document.getElementById("societeCheck"); if (societeCheck) { societeCheck.addEventListener("change", function () { const bloc = document.getElementById("blocSociete"); if (bloc) { bloc.style.display = this.checked ? "block" : "none"; } }); }
async function envoyerReservation(){ try{ const nom=document.getElementById("nom"); const prenom=document.getElementById("prenom"); const telephone=document.getElementById("telephone"); const email=document.getElementById("email"); const depart=document.getElementById("depart"); const arrivee=document.getElementById("arrivee"); const date=document.getElementById("date"); const heure=document.getElementById("heure"); const prix=document.getElementById("prix"); const societe=document.getElementById("societe"); const siret=document.getElementById("siret"); const adresseSociete=document.getElementById("adresseSociete"); const villeSociete=document.getElementById("villeSociete"); const emailFacturation=document.getElementById("emailFacturation"); if( !nom.value|| !prenom.value|| !telephone.value|| !email.value ){ alert("Veuillez remplir vos coordonnées."); return; } const form=document.getElementById("reservationForm"); const data=new FormData(form); const reponse=await fetch( "https://api.web3forms.com/submit", { method:"POST", body:data } ); const resultat=await reponse.json(); if(!resultat.success){ alert("Erreur : "+resultat.message); return; } await fetch( "https://script.google.com/macros/s/AKfycbwehgiPdQe0OBiR3gA_TWOabgPWIh5UWq_mITqOua2fGxBjQNankHd0-8V-eGpaBP1u7w/exec", { method:"POST", mode:"no-cors", headers:{ "Content-Type":"text/plain" }, body:JSON.stringify({ nom:nom.value, prenom:prenom.value, telephone:telephone.value, email:email.value, depart:depart.value, arrivee:arrivee.value, date:date.value, heure:heure.value, prix:prix.innerText, societe:societe.value, siret:siret.value, adresseSociete:adresseSociete.value, villeSociete:villeSociete.value, emailFacturation:emailFacturation.value }) } ); window.location.href= "https://buy.stripe.com/test_cNiaEX9883rQgiydLs87K00"; } catch(erreur){ alert("ERREUR : "+erreur.message); console.log(erreur); } }
WhatsApp

© 2026 Costa Transfert - All rights reserved

✓ RÉSERVATION CONFIRMÉE

Merci d'avoir choisi Costa Transfert.Votre acompte a bien été validé et votre réservation est désormais enregistrée.Olivier vous contactera personnellement dans les plus brefs délais afin de confirmer les détails de votre transfert.Nous restons à votre disposition sur WhatsApp pour toute question concernant votre transfert.Au plaisir de vous accueillir à bord.COSTA TRANSFERT


Votre chauffeur vous contactera sur WhatsApp