PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2025 → Affichage de l'itinéraire API Google avec durée du trajet
Affichage de l'itinéraire API Google avec durée du trajet
Débuté par Gilles, 26 mai 2025 18:27 - 2 réponses
Posté le 26 mai 2025 - 18:27
Dans les API google route et matrix, il y a la possibilité d'afficher dans le tracé de l'itinéraire la durée.

A priori la fonction CarteAjouteItinéraire n'a pas l'air de prendre en compte cette option
est ce que quelqu'un a reussi à le faire dans webdev ou windev ?
Membre enregistré
260 messages
Posté le 31 mai 2025 - 11:50
Bonjour,

Oui, on peux le faire.
Je n'ai pas Webdev mais avec cette procédure en Windev, c'est kifkif.
Une chance que je suis allé par hasard faire un tour sur ce forum sinon je n'aurai pas vu ta question !

Procedure Renvoyer_une_durée_entre_deux_points(sGPS_Départ est une chaîne,sGPS_Arrivée est une chaîne)

duDuréeTrajet est une Durée //Durée du voyage
sDuréeTrajetEnHMn est une chaîne

sReq est une chaîne = "https://maps.googleapis.com/maps/api/distancematrix/xml?units=imperial&language=fr-FR&origins="+sGPS_Départ+"&destinations="+sGPS_Arrivée+"&key="+gsAPI_Key
// on récupère le résultat de la requête dans un XML Document (Json possible aussi)
flux est un xmlDocument = XMLOuvre(sReq,depuisURL)
SI ErreurDétectée = Vrai ALORS

FinProgramme("Impossible d'ouvrir le flux RSS. Vérifiez votre connexion Internet.")

FIN

sDuréeTrajetEnHMn = flux.DistanceMatrixResponse.row.element.duration.text..Texte // en H/minutes directe, ex: 3 heures 47 minutes
duDuréeTrajet..EnSecondes = flux.DistanceMatrixResponse.row.element.duration.value..Texte // en sec que l'on affecte à une "Durée" en secondes

RENVOYER duDuréeTrajet..EnSecondes+TAB+sDuréeTrajetEnHMn


Exemple d'appel :

sResultat est une chaîne = Renvoyer_une_durée_entre_deux_points("49.032804,6.079100599999999","49.1196964,6.1763552")
Posté le 03 juin 2025 - 16:14
André STASZEWSKI a écrit :
Bonjour,

Oui, on peux le faire.
Je n'ai pas Webdev mais avec cette procédure en Windev, c'est kifkif.
Une chance que je suis allé par hasard faire un tour sur ce forum sinon je n'aurai pas vu ta question !

Procedure Renvoyer_une_durée_entre_deux_points(sGPS_Départ est une chaîne,sGPS_Arrivée est une chaîne)

duDuréeTrajet est une Durée //Durée du voyage
sDuréeTrajetEnHMn est une chaîne

sReq est une chaîne = "https://maps.googleapis.com/maps/api/distancematrix/xml?units=imperial&language=fr-FR&origins="+sGPS_Départ+"&destinations="+sGPS_Arrivée+"&key="+gsAPI_Key
// on récupère le résultat de la requête dans un XML Document (Json possible aussi)
flux est un xmlDocument = XMLOuvre(sReq,depuisURL)
SI ErreurDétectée = Vrai ALORS

FinProgramme("Impossible d'ouvrir le flux RSS. Vérifiez votre connexion Internet.")

FIN

sDuréeTrajetEnHMn = flux.DistanceMatrixResponse.row.element.duration.text..Texte // en H/minutes directe, ex: 3 heures 47 minutes
duDuréeTrajet..EnSecondes = flux.DistanceMatrixResponse.row.element.duration.value..Texte // en sec que l'on affecte à une "Durée" en secondes

RENVOYER duDuréeTrajet..EnSecondes+TAB+sDuréeTrajetEnHMn


Exemple d'appel :

sResultat est une chaîne = Renvoyer_une_durée_entre_deux_points("49.032804,6.079100599999999","49.1196964,6.1763552")



Merci pour le code, en fait je cherchais à utiliser l'évolution de l'API google qui permet d'afficher le temps de trajet directement en bulle des des itinéraires.

https://developers.google.com/maps/documentation/routes/demo
https://developers.google.com/maps/documentation/routes/compute_route_directions…