Calcule de distance entre deux villes

djallakhan Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
djallakhan Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

1 réponse

Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
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.
0
djallakhan Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Salut , j'ai une liste sur laquelle j'aimerai travailler, par exemple, le départ est toujours par un seul point : POINT X - Destination ( 48 Points aux choix )

Les résultats, je dois les ajoutés manuellement si c'est possible

merci
0
Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
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"
}
0
djallakhan Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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>
0
Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
Oui tu peux faire ça, si ton point de départ est fixe, tu as juste 49 distances à calculer.
0
djallakhan Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bcp pour ton aide, je vais essayé de faire cela, même si je ne sais pas ou commenc, puisque je suis novice ;(
0