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
543
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
543
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