PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Récupération adresse avec GeoRecupereAdresse
Récupération adresse avec GeoRecupereAdresse
Débuté par Christophe, 02 aoû. 2017 12:29 - 8 réponses
Posté le 02 août 2017 - 12:29
Bonjour,

Je rencontre des problèmes avec le code ci-dessous, jusqu'à il y a une semaine l'adresse remontée correspondait bien à la position visualisée sur le champ carte, or depuis quelques jours, l'adresse remontée est aux états unis et ne correspond plus du tout à la position réelle.

J'ai changé la clé API de google map en pensant que le problème provenait de là mais sans succès.

Merci d'avance de votre aide

Code à tester :

position est un géoPosition
posimarqueur est un Marqueur
MonAdresse est une Adresse
tabAdresses est un tableau d'Adresse

position = CarteRécupèrePosition(CARTE_SansNom1)
CarteSupprimeMarqueur(CARTE_SansNom1)
posimarqueur..Position = position
CarteAjouteMarqueur(CARTE_SansNom1,posimarqueur)


SI géoRécupèreAdresse(position..Latitude+","+position..Longitude,tabAdresses) = Faux ALORS
SI ErreurDétectée ALORS
LIB_commune = "Adresse inconnue"
RETOUR
FIN
FIN

MonAdresse = tabAdresses[1]

LIB_commune = MonAdresse..Ville
LIB_rue = MonAdresse..Rue
LIB_lat = position..Latitude
LIB_long = position..Longitude
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 02 août 2017 - 14:52
Bonjour

"position est un géoPosition
posimarqueur..Position = position"

Est-ce que "position" ne serait pas un mot réservé ?

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Posté le 02 août 2017 - 16:27
Bonjour

Cela ne change rien, je rajoute le code que est dans le champ carte après changement de position et qui récupère le nom de la ville.

Merci beaucoup pour l'aide

maposition est un géoPosition
posimarqueur est un Marqueur
MonAdresse est une Adresse
tabAdresses est un tableau d'Adresse

maposition = CarteRécupèrePosition(CARTE_SansNom1)
CarteSupprimeMarqueur(CARTE_SansNom1)
posimarqueur..Position = maposition
CarteAjouteMarqueur(CARTE_SansNom1,posimarqueur)


SI géoRécupèreAdresse(maposition..Latitude+","+maposition..Longitude,tabAdresses) = Faux ALORS
SI ErreurDétectée ALORS
LIB_commune = "Adresse inconnue"
RETOUR
FIN
FIN

MonAdresse = tabAdresses[1]

LIB_commune = MonAdresse..Ville
LIB_rue = MonAdresse..Rue
LIB_lat = maposition..Latitude
LIB_long = maposition..Longitude
Posté le 03 août 2017 - 18:18
Bonjour,

J'ai contourné le problème en appelant directement l'url de google.

Elle fonctionne parfaitement

Je vous joins le code pour exemple, ne pas oublier de demander une cle API Google Map sans restreindre

cMaRequete est un restRequête
cMaReponse est un restRéponse
vjs est un Variant
sUrl est une chaîne

sUrl="https://maps.googleapis.com/maps/api/geocode/json…"
cMaRequete..URL = sUrl
cMaRequete..Méthode = httpGet
cMaReponse = RESTEnvoie(cMaRequete)

SI PAS ErreurDétectée ALORS
vjs = JSONVersVariant(cMaReponse..Contenu)
POUR TOUT x DE vjs.results
Info(x.formatted_address)
Info("numero" + x.address_components[1].long_name)
Info("rue"+ x.address_components[2].long_name)
Info("ville"+ x.address_components[3].long_name)
Info("CP" + x.address_components[7].long_name)
FIN
FIN


Ancienne code qui ne fonctionne plus.
//Monadresse = géoRécupèreAdresse(maposition.Latitude+","+maposition.Longitude)
//SAI_Adressecommunerue=Monadresse..Rue
//SAI_Adressecommune=Monadresse..Ville
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 08 août 2017 - 11:18
Bonjour Christophe,

je confirme que chez moi non plus GeoRecupereAdresse ne fonctionne plus sur Android 5.1 !

j'ai un cadre gris qui s'affiche avec toutes les coordonnées de l'adresse mais c'est pas le but recherché.

j'ai essayé ton code avec l'url de maps.googleapis

Cela semble fonctionner même sans clé API google maps.

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 09 août 2017 - 11:17
pire encore : le simple fait de mettre "MonAdresse est une Adresse" fait planter Android !

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
3 657 messages
Popularité : +175 (223 votes)
Posté le 12 août 2017 - 08:19
Bonjour

view link

https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/2543-nova-procedure-wsrotasgooglemaps/read.awp…

merci

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 12 août 2017 - 08:56
Bonjour José,

J'ai transmis tout cela au support technique sous numéro d'incident 104 748.

Bien sûr il est possible d'utiliser https://maps.googleapis.com comme Christophe l'a très bien expliqué mais à ma connaissance l'utilisation de https://maps.googleapis.com est limitée à un certain nombre de requêtes par jour alors que l'utilisation est illimitée pour les applications (d'après moi).

Il suffirait que Windev mobile fonctionne conformément à la documentation : https://doc.pcsoft.fr/?1000019797

Exemple de code d'une fenêtre avec un libellé appelé "libellé1":

MonAdresse est une Adresse
MonAdresse = géoRécupèreAdresse( "43.639942,3.837672")
SI ErreurDétectée = Faux ALORS
Libellé1 = "pas d'erreur"
SINON
Libellé1 = ErreurInfo()
FIN
Cela déclenche l'affichage non voulu du bloc d'informations suivant sous Android 5.1 avec téléchargement depuis le Store de Google:





Impossible de récupérer les composantes de MonAdresse..

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 30 août 2017 - 15:10
Si quelqu'un souhaite des informations sur le correctif, me le demander à contact@intra.fr (non encore installé non encore testé)

--
Cordialement
François

http://intra.fr http://intrasoftware.fr