Calcule de distance entre deux villes
djallakhan
Messages postés
7
Statut
Membre
-
djallakhan Messages postés 7 Statut Membre -
djallakhan Messages postés 7 Statut Membre -
Bonjour,
J'aimerai créer une page html / php qui calcule la distance entre deux villes ( Un tableau ou je dois mettre mes données
exemple : Case 1 = Ville départ , case 2 = ville destination, case 3 = Kilomètres
j'ai croisé un site qui utilise le même système que je cherche ! mais le code est crypté ! impossible a savoir comment il a fait :
le site : http://www.transportbaf.com/distances0.php
merci à l'avance
J'aimerai créer une page html / php qui calcule la distance entre deux villes ( Un tableau ou je dois mettre mes données
exemple : Case 1 = Ville départ , case 2 = ville destination, case 3 = Kilomètres
j'ai croisé un site qui utilise le même système que je cherche ! mais le code est crypté ! impossible a savoir comment il a fait :
le site : http://www.transportbaf.com/distances0.php
merci à l'avance
1 réponse
-
Salut, tu peux utiliser Google Map Api, le nombre de requêtes quotidienne est limité à 25 000 je crois, au delà les requêtes sont désactivées où il faut passer à la version payante.
-
-
Regarde cette url par exemple, la distance entre Paris et Marseilles en voiture.
Clique ici
ca te retourne:{
"destination_addresses" : [ "Marseille, France" ],
"origin_addresses" : [ "Paris, France" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "775 km",
"value" : 774930
},
"duration" : {
"text" : "7 heures 2 minutes",
"value" : 25297
},
"status" : "OK"
}
]
}
],
"status" : "OK"
} -
Merci !
J'ai trouvé un code que je dois modifier
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Afficher la distance entres 2 villes d'après un array associatif</title>
<style type="text/css" media="all">
.erreur {
background: red;
color: white;
}
.distance {
background: green;
color: white;
}
</style>
</head>
<body>
<?php
// pour éviter les affichage de "Notice..." (de simples remarques)
error_reporting(E_ALL);
$distances = array(
"Lille" => array("Paris" => 221, "Nice" => 1154, "Brest" => 728, "Lyon" => 685),
"Paris" => array("Nice" => 929, "Brest" => 595, "Lyon" => 460),
"Nice" => array("Brest" => 1068, "Lyon" => 472),
"Brest" => array("Lyon" => 1015)
);
/* si le formulaire a effectivement été envoyé */
if ($_POST)
{
/* on créé un tableau qui contiendra les erreurs si il y en a */
$erreurs = array();
/* on récupère les valeurs */
$depart = $_POST["depart"];
$arrivee = $_POST["arrivee"];
if ($depart == $arrivee) {$erreurs[] = "Vous devez choisir 2 villes différentes!";}
/* on va détermine la distance */
else // quand $depart != $arrivee
{
/* si $distances[$depart][$arrivee] n'est pas pas vide = une valeur existe */
if(!empty($distances[$depart][$arrivee]))
{
$distance = $distances[$depart][$arrivee];
}
// quand $distances[$depart][$arrivee] n'existe pas,
//il faut lire le tableau dans l'autre sens
else
{
$distance = $distances[$arrivee][$depart];
}
}
} // FIN du if ($_POST)
?>
<h1>Afficher la distance séparant 2 villes d'après un tableau triangulaire</h1>
<form method="post" action="">
<?php
if (!empty($erreurs)) // si il y a des erreurs, on les affiche
{
echo "<div class='erreur'>
<p><strong>Erreurs</strong> :</p>
<ul>";
foreach ($erreurs as $valeur)
{
echo "<li>$valeur</li>n";
}
echo "</ul>
</div>n";
}
?>
<p><label for="f_depart">Choisissez une ville de départ</label>
<select name="depart" id="f_depart">
<option value="Brest">Brest</option>
<option value="Lille">Lille</option>
<option value="Lyon">Lyon</option>
<option value="Nice">Nice</option>
<option value="Paris">Paris</option>
</select></p>
<p><label for="f_arrivee">Choisissez une ville d'arrivée</label>
<select name="arrivee" id="f_arrivee">
<option value="Brest">Brest</option>
<option value="Lille">Lille</option>
<option value="Lyon">Lyon</option>
<option value="Nice">Nice</option>
<option value="Paris">Paris</option>
</select></p>
<p><input type="submit" value="Afficher la distance entre les deux villes" /></p>
</form>
<?php
// si le formulaire a été envoyé et qu'il n'y a pas d'erreurs
if ($_POST && empty($erreurs))
{
echo "<p class='distance'>
La distance entre $depart et $arrivee vaut <strong>$distance</strong> km.</p>";
}
?>
</body>
</html> -
-
-