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

Résolu/Fermé
abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017 - 20 févr. 2017 à 15:15
abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017 - 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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
21 févr. 2017 à 11:47
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 lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017
22 févr. 2017 à 08:42
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 lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017
2 mars 2017 à 17:14
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
2 mars 2017 à 17:43
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 lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017
3 mars 2017 à 10:42
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