PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Calcul distance/itineraire Google Maps
Calcul distance/itineraire Google Maps
Débuté par Christophe, 06 jan. 2019 11:37 - 17 réponses
Membre enregistré
14 messages
Posté le 06 janvier 2019 - 11:37
Bonjour à toutes et à tous.
Depuis le changement de politique de Google Maps je rencontre un probleme sur les fonctions cartes ajoute itinéraire et carte distance itinairaire qui ne fonctionne plus.

Je précise que j'ai activé une clé chez Google (payante) qui est initialisée à l'ouverture du projet. en ayant activé les fonctions API MAPS ET DIRECTIONS sur la plateforme Google.
La carte s'affiche bien cependant j'ai un bouton qui permettait aux utilisateurs d'ajouter un trajet et de récupérer la distance en km et depuis l'action de ce bouton ne marche plus et sans message d'erreur.
Quelqu'un aurait une idée sur la raison? Paramétrage du compte Google changement de le code à faire ?

Merci d'avance pour votre aide :)

Voici la copie du code qui s'execute sur clic de mon bouton:
sADépart est une chaîne
sZArrivée est une chaîne
sDépartVH est une chaîne
sID est une chaîne
rDist est un réel
xTarifcourse est un numérique
HLitPremier(societe,IDsociete)


SI INT_SUpNuit=1 ALORS
xTarifcourse=societe.TarifKMNuit
SINON
xTarifcourse=societe.TarifKMJour
FIN

sADépart=SAI_Lieu_Départ+","+SAI_CodePostalDepart+","+SAI_Ville_PEC
sZArrivée=SAI_Destination+","+SAI_CodePostalDest+","+SAI_Ville_Dest
sDépartVH="1 place mazarin,83000,toulon"

//Calcul distance entre Le lieu de départ et le lieu de PEC
CarteAjouteItinéraire(CARTE_SansNom1,[sDépartVH,sADépart],itinéraireAutomobileNonOptimisé)

sID = CarteAjouteItinéraire(CARTE_SansNom1,[sDépartVH,sADépart],itinéraireAutomobileNonOptimisé)

rDist=CarteDistanceItinéraire(CARTE_SansNom1,sID)

SAI_KilométragePEC=rDist/1000.0

//Calcul distance entre le lieu de PEC et la destination
CarteAjouteItinéraire(CARTE_SansNom1,[sADépart,sZArrivée],itinéraireAutomobileNonOptimisé)

sID = CarteAjouteItinéraire(CARTE_SansNom1,[sADépart,sZArrivée],itinéraireAutomobileNonOptimisé)
rDist=CarteDistanceItinéraire(CARTE_SansNom1,sID)
SAI_Distance_estKm=rDist/1000.0

//Calcul kilométrage Total
SAI_KMTotalCourse=SAI_Distance_estKm+SAI_KilométragePEC

//Calcul tarif
SAI_Tarifestime=(((SAI_Distance_estKm+SAI_KilométragePEC)*xTarifcourse)+societe.Priseencharge)
SAI_Prixcourse=(((SAI_Distance_estKm+SAI_KilométragePEC)*xTarifcourse)+societe.Priseencharge)
Membre enregistré
14 messages
Posté le 31 janvier 2019 - 12:01
Bonjour,
Je me permets de relancer le sujet, quelqu'un aurait-il une idée?
Merci bcp !
Chris
Membre enregistré
628 messages
Popularité : +0 (16 votes)
Posté le 31 janvier 2019 - 15:17
Bonjour, excusez moi de la question, je suis intéressé, c'est facturé combien ? en fonction que quoi ?
Membre enregistré
14 messages
Posté le 31 janvier 2019 - 16:23
Bonjour je ne comprends pas votre question vous êtes intéressé par quoi ?
Membre enregistré
628 messages
Popularité : +0 (16 votes)
Posté le 31 janvier 2019 - 16:30
je voulais savoir combien vous avez payé pour les api google, et en fonction de quoi ?
nombre d'accès ? affichage ? utilisation des api ?
je voulais connaitre cela afin de voir si je ne passe pas à openstreetmap,
si vous voulez bien de donner l'info ce serait sympa ...
Membre enregistré
14 messages
Posté le 01 février 2019 - 15:20
Pour le moment j'ai rien payé j'ai fait des tests en activant une clé google, et on bénéficie d'un crédit important à l'ouverture du compte. Tout le détail de la tarification est indiqué sur le site de google en fonction du nombre de requete et du type d'API sollicité.

En revanche je n'arrive pas à comprendre pourquoi je n'arrive plus à récupérer l'information de la distance... Mais à chaque fois que j'ai posé une question sur ce forum je n'ai eu aucune réponse. Dommage !
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 02 février 2019 - 13:31
Christophe bonjour,
Votre code m'a l'air correcte et j'ai le même souci.
Etes vous en France ?

Je suis en Thaïlande
Quand je veux une distance paris/lyon, mes distances sont toujours à zéro.
Le même programme executé en France avec la meme clef Google, affiche bien la distance paris/lyon.
Si j'ai des infos, je vous le fais savoir...........

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
14 messages
Posté le 03 février 2019 - 15:27
Merci Jean Michel. Ce code est exécuté en France. J'ai du mal a déterminer si le problème vient de Windev ou de google maps. Mon code fonctionnait parfaitement avant...

A suivre!
Posté le 18 février 2019 - 09:14
Bonjour,

J'ai également le même problème. dans mon code navigateur, je fais un CarteAjouteItineraire, suivi d'un CartedistanceItineraire.
L'itinéraire est bien tracé sur ma carte, mais j'obtiens une distance à 0.

Si vous avez des informations...
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 18 février 2019 - 14:13
Bonjour,

CarteDistanceItineraire() fait appel à quel service google exactement ?
ce n'est pas le service Distance Matrix Service qui est appelé ?

si c'est le cas, est ce qu'il est bien activé sur votre compte Google ?
Membre enregistré
98 messages
Popularité : +2 (2 votes)
Posté le 18 février 2019 - 17:49
Bonjour,

Voici un bout de mon code qui fonctionne bien dans un petit logiciel pour des tournées de SAV.
//Vérification de la validité de l'adresse client pour GoogleMaps
ID est une chaîne
// Affiche un itinéraire automobile entre les deux adresses spécifiées
sAdd_Init=ChaîneConstruit(SAI_RUE_REF+" "+SAI_CP_REF+" "+SAI_VILLE_REF)
sAdd_cli=ChaîneConstruit(SAI_ADD_C+" "+SAI_CP_C+" "+SAI_VILLE_C+" "+SAI_PAYS_C)
sAdd_cli_V=ChaîneConstruit(SAI_CP_C+" "+SAI_VILLE_C+" "+SAI_PAYS_C)

LocINIT = GglAdresseVersCoordonnées(API_Key,sAdd_Init)
LocClient = GglAdresseVersCoordonnées(API_Key,sAdd_cli)

SI ErreurDétectée = Vrai ALORS
//Nouvelle tentative de transformation des adresses en Latitude/Longitude
LocINIT = GglAdresseVersCoordonnées(API_Key,sAdd_Init)
LocClient = GglAdresseVersCoordonnées(API_Key,sAdd_cli)
SI ErreurDétectée = Vrai ALORS
SI OuiNon(Oui,"Votre client n'a pu être géolocalisé avec précision. Voulez vous préciser l'adresse") ALORS
RepriseSaisie(SAI_ADD_C)
SINON
Info("la géolocalisation sera située au centre de la commune")
LocClient = GglAdresseVersCoordonnées(API_Key,sAdd_cli_V)
//LocClient = GglAdresseVersCoordonnées(CP_Client+" "+sVille_client+" "+Pays_client)
FIN
FIN
FIN

pointdépart..Latitude=LocINIT.Latitude
pointdépart..Longitude=LocINIT.Longitude
pointarrivée..Latitude=LocClient.Latitude
pointarrivée..Longitude=LocClient.Longitude
ID = CARTE_tournée.AjouteItinéraire([pointdépart, pointarrivée], itinéraireAutomobile)
nDist = CARTE_tournée.DistanceItinéraire(ID)
SAI_Distance = nDist / 1000


Dans cet exemple, si l'adresse du client n'est pas reconnue par GoogleMaps, je situe son adresse au centre de la ville. Vous pouvez aisément supprimer cette recherche complémentaire...

Bon dev

--
Patrick PELISSON
Membre enregistré
14 messages
Posté le 19 février 2019 - 15:09
Bonjour Patrick,
Merci pour ce message et ce code. je vais comparer avec le mien. Cependant quel(s) service(s) Google avez-vous activé dans votre compte? La clé Google est initié dans le code d'initialisation ?

Merci pour cette précision complémentaire

Christophe
Membre enregistré
98 messages
Popularité : +2 (2 votes)
Posté le 19 février 2019 - 17:19
Bonjour Christophe,

Voici la liste des API Google :
- Géocoding API, Direction API et Maps JavaScript API.
J'ai initialisé une chaine nommée 'API_Key' dans mon code d'initialisation qui contient la clé d'API de Google. vous constaterez que cette clé est rappelée dans chaque code 'Ggl...'

Si vous voulez voir le résultat, mon application peut être téléchargée gratuitement pour test au lien suivant : https://www.outilgestion.fr/telechargement.html

A bientôt sur le forum,

--
Patrick PELISSON
Posté le 21 novembre 2020 - 20:48
Bonjour Patrick,

J'ai voulu tester le bout de code que vous avez cité plus haut mais en allant sur la console des Api Google j'ai remarqué que les API "Geocoding API" et "Direction API" sont payantes de 0 à 100k requêtes/mois.

- Si je les active, je vais être automatiquement prélevé sur ma carte bancaire chaque fin de mois du montant indiqué ?
- Même si je fais zéro requête sur l'API concernée ?
- y'a pas moyen d'utiliser gratuitement ces API dans un mode essai ou limité ?

Merci pour vos retours.
Membre enregistré
179 messages
Posté le 21 novembre 2020 - 20:59
Patrick PELISSON a écrit :
Bonjour Christophe,

Voici la liste des API Google :
- Géocoding API, Direction API et Maps JavaScript API.
J'ai initialisé une chaine nommée 'API_Key' dans mon code d'initialisation qui contient la clé d'API de Google. vous constaterez que cette clé est rappelée dans chaque code 'Ggl...'

Si vous voulez voir le résultat, mon application peut être téléchargée gratuitement pour test au lien suivant : https://www.outilgestion.fr/telechargement.html

A bientôt sur le forum,



Bonjour Patrick,

J'ai voulu tester le bout de code que vous avez cité plus haut mais en allant sur la console des Api Google j'ai remarqué que les API "Geocoding API" et "Direction API" sont payantes de 0 à 100k requêtes/mois.

- Si je les active, je vais être automatiquement prélevé sur ma carte bancaire chaque fin de mois du montant indiqué ?
- Même si je fais zéro requête sur l'API concernée ?
- y'a pas moyen d'utiliser gratuitement ces API dans un mode essai ou limité ?

Merci pour vos retours.
Posté le 22 novembre 2020 - 16:19
Bonjour
En effet, l'api Google est payante mais vous avez un crédit de 120$/mois (environ 10000 connexions).
Vous mouvez sans crainte laisser vos coordonnées de carte bancaire, vous ne serez débité que si vous excedez ce quota.
Cordialement
Membre enregistré
179 messages
Posté le 23 novembre 2020 - 14:15
PELISSON a écrit :
Bonjour
En effet, l'api Google est payante mais vous avez un crédit de 120$/mois (environ 10000 connexions).
Vous mouvez sans crainte laisser vos coordonnées de carte bancaire, vous ne serez débité que si vous excedez ce quota.
Cordialement


Bonjour Patrick et merci pour cette information qui n'est mentionnée nulle part !
Ou alors j'ai mal cherché ?
J'espère que c'est toujours d'actualité...

Est-ce que c'est 120$/mois pour env. 10000 connexions par API utilisée ou pour l'ensemble des API utilisées ?
Posté le 23 novembre 2020 - 16:42
Oui pour l'ensemble des api de google maps