Récupérer des points gps et afficher itinéraire

Résolu
abirgl Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -  
abirgl Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   - 3 mars 2017 à 10:42
Bonjour,
Dans mon application web, j'ai un tableau qui contient la liste de mes clients, chaque client possède des coordonnées géographiques, je souhaite, à partir de ces coordonnées géographiques, afficher l'itinéraire pour arriver à ce client (depuis mon emplacement courant), j'ai réussi à afficher mon emplacement courant sur une carte google maps, mais j'ai pas une idée comment à partir des variables php les transformer en javascript pour les utiliser lors de calcul de l'itinéraire,
Quelqu'un peut m'aider SVP ?


A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Salut,

Selon ce que tu souhaites, tu n'a p-e pas besoin d'utiliser javascript pour afficher ton itinéraire.

Tu peux utiliser tes variables PHP pour simplement créer un lien http pointant vers Google Map avec les coordonnées de départs et d'arrivées :
$latOrigin = '47.71';
$lngOrigin = '2.88';

$latDest = '50.62';
$lngDest = '2.16';

echo "<a href='https://www.google.com/maps/dir/$latOrigin,$lngOrigin/$latDest,$lngDest' rel="nofollow noopener noreferrer" target="_blank">Itinéraire</a>";


Bonne journée,
0
abirgl Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Beaucoup Pitet, c'est très simple votre solution , j'ai utilisé du Javascript et ça était très compliquée par rapport à ceci ,
Merci encore une fois et bonne journée
0
abirgl Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
SVP J'ai besoin de récupérer la distance et la durée affichée sur google maps (entre un point de départ et un point d'arrivé) est ce que c'est faisable ( en php ou en javascript) ? si oui comment svp et merci d'avance
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Tu peux utiliser l'API Google Map Distance Matrix pour récupérer la distance et la durée de transport entre deux points.
Soit en php via le web service : https://developers.google.com/maps/documentation/distance-matrix/overview?hl=fr
Soit en javascript via l'API js : https://developers.google.com/maps/documentation/javascript/distancematrix?hl=fr
0
abirgl Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup Pitet,
voici le code si quelqu'un aura le même besoin un jour:

function GetDrivingDistance($lat1, $lat2, $long1, $long2)
{
$url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$lat1.",".$long1."&destinations=".$lat2.",".$long2."&mode=driving&language=fr-FR";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response, true);
$dist = $response_a['rows'][0]['elements'][0]['distance']['text'];
$time = $response_a['rows'][0]['elements'][0]['duration']['text'];

return array('distance' => $dist, 'time' => $time);
}

Pour l'appel :

//$latOrg,$lngOrg,$latDest,$lngDest doivent être déjà définis , soit récupérés de bdd
$coordinates1=array($latOrg,$lngOrg);
$coordinates2=array($latDest,$lngDest);
if ( !$coordinates1 || !$coordinates2 )
{
echo 'Bad address.';
}
else
{
$dist = GetDrivingDistance($latOrigin, $latDest, $lngOrigin, $lngDest);
echo "Distance : ".$dist['distance']."<br> Durée : ". $dist['time'];
}

Merci encore Pitet ^^
0