L’API google Maps est le service de Google qui permet aux développeurs d’exploiter les informations de cartographie de la firme. On doit dans certain cas calculer la distance entre 2 points, cette article va nous montrer comment faire. Nous allons calculer la distance par la route et non la distance euclidienne (distance a vole d’oiseaux).

Scripte PHP permettant le calcule d’une distance via API google maps direction

<?php

function getDistance($adresse1,$adresse2){
$adresse1 = str_replace(" ", "+", $adresse1);
$adresse2 = str_replace(" ", "+", $adresse2);
$url='http://maps.google.com/maps/api/directions/xml?language=fr&origin='.$adresse1.'&destination='.$adresse2.'&sensor=false';
$xml=file_get_contents($url);
$root = simplexml_load_string($xml);

$distance=$root->route->leg->distance->value;

if ($root->status == "OK")
{
return $distance;
}
else
{
return "0";
}

 

 

}
// on déclare une fonction qui va nous permettre de récupérer la distance
echo getDistance("lyon, 69000","santenay, 21590"); // on utilise la fonction pour trouver la distance Lyon ->Santenay
?>

Cette petite moulinette en PHP calculera tout les distance que vous souhaitez.

Recherches qui ont permis de trouver cet article:

7 commentaires pour “{PHP} Calculer une distance par la route avec l’API Google maps”

  • Très bon article, mais tu devrais faire un peu plus attention à l’orthographe et à la grammaire ça te permettrais de gagner en crédibilité. (ex.: « voire » = voir, « distence »=distance)

    C’est un petit peu dommage car tu es très bon au niveau technique!

  • Merci,
    j’ai corrigé quelques fautes.

  • Oui, comme le dit clem, c’est important la grammaire, ça te « permettrais » (hohoho!) de gagner en crédibilité…

  • « ça te permettrait »

  • Merci pour ce script très simple, qui gère très bien tous les formats d’entrée (adresses, coordonnées, etc.). Google a annoncé vouloir limiter l’accès à l’API de Google Maps récemment, mais je pense qu’en-deça de quelques milliers de requêtes par jour, ça passe…

  • Super script, impeccable, c’est beau la technologie !

  • Script très intelligent. Mais j’ai un petit problème. Comment peut-on modifier le script pour qu’il utilise des points au lieu des adresses pour calculer la distance

Laisser un commentaire


Blogroll