A propos 3DServicad
Cas clients

Réaliser un google maps dynamique sur Driveworks

Découvrez dans cet article de Blog, comment créer un Google Maps depuis la solution DriveWorks. Ce tuto vous explique étape par étape, comment réaliser un projet qui va permettre d’évaluer une distance entre deux points à l’aide d’une requête http avec Google Maps.

Label

This is a title

2903
lorem ipsum dolor

1. Créer un un groupe et un projet sur DriveWorks Administrator

La première étape consiste à créer un groupe individuel. Localisez-le et nommez-le.

groupe-individuel-driveworks-min

Ensuite, connectez vous au groupe que vous venez de créer à l’aide du pop-up qui s’affiche.

connexion-driveworks-min

Créez ensuite un nouveau projet, localisez-le et nommez-le.

nouveau-projet-driveworks-min

Nous nous retrouvons ensuite dans l’éditeur de projet de DriveWorks Administrator

editeur-driveworks-min

2. Créer un formulaire DriveWorks

L’étape suivante va donc être de créer le formulaire adapté. Pour cela, nous allons créer trois « Text Box » qui vont être respectivement le point de départ (nommé « Depart »), le point d’arrivée (nommée « Arrivee ») ainsi que la distance (nommée « Distance »), qui va nous servir seulement d’affichage du résultat de la requête.

Pour finir, un bouton macro va être créé (qui va être nommé « Rechercher ») à l’aide de la fonction « Macro Button ». Vous trouverez ci-dessous, le formulaire que vous devez obtenir.

formulaire-driveworks-min

3. Créer des constantes dans DriveWorks

Effectivement, il nous faut créer deux constantes qui vont stocker chacune respectivement, la clé API, fourni par Google (voir étape 4 pour l’obtention de la clé) et le fichier XML retour de notre requête http.

constantes-driveworks-min

 

4. Créer une requête https sur DriveWorks

Allez dans l’onglet « Specification Macro » et créez une macro nommée RequetteHTTP.

Ensuite, recherchez dans la « Toobox » sur la fenêtre en haut à droite de DriveWorks Administrator l’outil « Send HTTP Request » et glissez et déposez le dans la fenêtre du milieu « Tasks ». Il faut également connecter les deux points verts.

requette-http-driveworks-min

 

Nous allons maintenant aller sur Google Cloud Plateform pour obtenir une clé API afin de faire fonctionner notre requête. Pour cela, il faut créer un compte, qui est payant dans notre cas. Cependant, Google propose un essai gratuit pour un nombre de jour limité. Il faut pour cela renseigner une carte de paiement (Google assure qu’aucun prélèvement ne sera effectué sur la carte, même à la fin de la période d’essai, voir les conditions de Google sur le lien https://cloud.google.com/terms/free-trial ).

Ensuite, allez sur Console, puis cliquez sur l’onglet en haut à gauche, allez sur l’onglet API et services, puis sur identifiants.

API-Driveworks-min

 

Nous voici dans l’onglet qui va nous permettre de générer nos clés API. Pour en créer une nouvelle, il faut cliquer sur « Créer des Identifiants », puis sur « Clé API ».

Google vous génère donc automatiquement une clé API, que vous pouvez copier à l’aide du bouton à droite de la clé. Copiez-la et retournez sur DriveWorks Administrator.

cle-api-driveworks-min

Collez cette clé dans la constante que nous avons créée précédemment.

cle-api-et-constante-driveworks-min

Maintenant que nous avons la clé API, nous pouvons paramétrer notre macro afin d’effectuer la requête. Voici la commande qu’il faut entrer pour la requête.

Ensuite, il faut renseigner les différentes commandes, comme « Request Web » en GET ainsi que renseigner ou stocker la requête, qui va être ici la constante URL que nous avons créée précédemment.

requete-web-driveworks-min

Finalement, il faut créer une variable qui va extraire de l’URL générée par la requête, la valeur de la distance entre les deux points (départ et arrivée) que nous allons renseigner dans le masque de saisie.

constantes-driveworks-min

Pour extraire la distance, nous allons utiliser la fonction XPathGet, qui va nous permettre d’extraire dans la constante URL de la requête, la distance entre ces deux points. La requête HTTP va permettre de récupérer une chaine de caractères qui a la structure d’un fichier XML, avec des éléments parents et enfants. Le lien qui est renseigné après la virgule va permettre de sélectionner l’élément que nous souhaitons, à savoir la distance.

xpathget-driveworks-min

Finalement, nous allons remplir la « Text Box » Distance que nous avons créé au début pour qu’il nous affiche en tant que « Default Value » la distance entre ces deux points départ et arrivée. Nous pouvons également rendre cette case en lecture seule à l’aide de la propriété « Read Only » sur TRUE afin d’afficher seulement le résultat et que l’utilisateur ne puisse pas la modifier.

Pour finir, il faut renseigner le nom de la macro pour le bouton macro « Rechercher » que nous avons créé précédemment afin de réaliser la requête HTTP.

macro-driveworks-min

 

5. Résultat DriveWorks

Voici le résultat généré par cette requête. Nous pouvons remarquer que la distance est affichée en dynamique, et donc si nous changeons les points de départ et d’arriver et que nous appuyons sur « rechercher », la requête se mettra à jour et la nouvelle distance s’affichera à l’écran.

resultat-requete-driveworks-min

6. Elaborer un outil pour obtenir et afficher un itinéraire Google Maps

En s’inspirant du projet précédent, nous avons conçu un outil permettant d’obtenir la distance totale entre un point A et un point B, avec entre les deux, des étapes. De plus, ce projet permet d’obtenir un aperçu dynamique sur Google Maps de notre itinéraire directement sur le masque de saisie. Voici un petit aperçu du projet :

outil-itineraire-google-maps-min

L’utilisateur entre donc premièrement le point de départ et le point d’arrivé. Il peut également choisir d’ajouter des étapes sur sa route en cochant la case « Ajouter Etape ». Si nous prenons le cas de la liste des étapes sur la figure en haut à droite, en partant de Paris, les étapes sont Belfort-Lille-Nantes-Bordeaux pour finalement arriver à Marseille.

L’utilisateur a également la possibilité d’afficher un aperçu de son itinéraire sur Google Maps directement. Ceci est réalisé en rendant dynamique le l’URL sur le « Web Frame » qui a été créé pour afficher le Google Maps.

google-maps-driveworks-min

 

Faq

This is a title

Duis molestie vestibulum diam vel condimentum vivamus efficitur ?

Integer quis diam a magna ultrices aliquam non nec libero. Sed mattis malesuada lectus sed blandit. Etiam purus eros, consequat vitae hendrerit sed, efficitur ac lectus. Duis pulvinar nisl eget varius congue. Pellentesque varius posuere sem, quis euismod justo pretium sit amet.

Duis molestie vestibulum diam vel condimentum vivamus efficitur ?

Integer quis diam a magna ultrices aliquam non nec libero. Sed mattis malesuada lectus sed blandit. Etiam purus eros, consequat vitae hendrerit sed, efficitur ac lectus. Duis pulvinar nisl eget varius congue. Pellentesque varius posuere sem, quis euismod justo pretium sit amet.

Duis molestie vestibulum diam vel condimentum vivamus efficitur ?

Integer quis diam a magna ultrices aliquam non nec libero. Sed mattis malesuada lectus sed blandit. Etiam purus eros, consequat vitae hendrerit sed, efficitur ac lectus. Duis pulvinar nisl eget varius congue. Pellentesque varius posuere sem, quis euismod justo pretium sit amet.

Duis molestie vestibulum diam vel condimentum vivamus efficitur ?

Integer quis diam a magna ultrices aliquam non nec libero. Sed mattis malesuada lectus sed blandit. Etiam purus eros, consequat vitae hendrerit sed, efficitur ac lectus. Duis pulvinar nisl eget varius congue. Pellentesque varius posuere sem, quis euismod justo pretium sit amet.

Duis molestie vestibulum diam vel condimentum vivamus efficitur ?

Integer quis diam a magna ultrices aliquam non nec libero. Sed mattis malesuada lectus sed blandit. Etiam purus eros, consequat vitae hendrerit sed, efficitur ac lectus. Duis pulvinar nisl eget varius congue. Pellentesque varius posuere sem, quis euismod justo pretium sit amet.

Duis molestie vestibulum diam vel condimentum vivamus efficitur ?

Integer quis diam a magna ultrices aliquam non nec libero. Sed mattis malesuada lectus sed blandit. Etiam purus eros, consequat vitae hendrerit sed, efficitur ac lectus. Duis pulvinar nisl eget varius congue. Pellentesque varius posuere sem, quis euismod justo pretium sit amet.