PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Récupérer une adresse grâce à sa latitude et sa longitude
Récupérer une adresse grâce à sa latitude et sa longitude
Débuté par Bressuire Informatique, 19 déc. 2014 16:38 - 32 réponses
Posté le 19 décembre 2014 - 16:38
Bonjour,

Je voudrais récupérer une adresse grâce à sa latitude et sa longitude. J'ai trouvé la fonction géoRecupereAdresse mais elle ne fonctionne pas sous WinDev. Y aurait-il une fonction équivalente dans WinDev ?

Merci
Membre enregistré
343 messages
Popularité : +30 (32 votes)
Posté le 19 décembre 2014 - 20:05
Bonjour

Tu peux utiliser l'api google par HttpRequête

Exemple de requête :
https://maps.googleapis.com/maps/api/geocode/xml?address=3+rue+Puech+villa,34090+MONTPELLIER

ça va retourner un beau xml qui contient (en autres) les coordonnées
Disponible aussi en json (à indiquer dans l'adresse à place de "xml")

Avec ça, quelque soit la plateforme ça va fonctionner

--
Pascal H. http://phapps.e-monsite.com
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 20 décembre 2014 - 12:25
Bonjour,

Pour l'afficher sur une carte Google :
(,IMG_map est un champ image)

// Affichage d'une carte à partir d'une adresse physique
nMonZoom est un entier = 12
gglParamètres est un gglParamètreCarte
Latitude, Longitude sont des réels
Localisation est un gglCoordonnée

// Récupération de la longitude et latitude d'une adresse physique
// Localisation = GglAdresseVersCoordonnées("3 rue de puech villa 34000 Montpellier")
Localisation = GglAdresseVersCoordonnées(gadresse + " " + gville)
Latitude = Localisation..Latitude
Longitude = Localisation..Longitude

// Affichage de l'adresse dans un champ Image
IMG_map = GglRécupèreCarte(Latitude, Longitude, nMonZoom, IMG_map..Largeur,IMG_map..Hauteur, gglPlan, gglParamètres)
GR_map..Visible = Vrai


J.Michel
Posté le 20 décembre 2014 - 12:32
Oui,

Sauf que notre ami veut faire l'opération inverse, récupérer l'adresse à partir de latitude+longitude.
Membre enregistré
343 messages
Popularité : +30 (32 votes)
Posté le 20 décembre 2014 - 13:18
@jmb, GglAdresseVersCoordonnées est très bien mais malheureusement pas multi-plateformes.
J'ai fait un dev sous iOS et ce n'est pas disponible par exemple.
Pour @Bressuire Informatique c'est parfait puisqu'il en a besoin que sous Windev visiblement

--
Pascal H. http://phapps.e-monsite.com
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 20 décembre 2014 - 17:06
Bonjour,

Un lien qui peut correspondre à ta recherche : https://developers.google.com/maps/documentation/geocoding/…

Un exemple pour les coordonnées d'un symbol français : https://maps.googleapis.com/maps/api/geocode/xml…

--
Bon développement, Patrick [3po.fr]
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 29 décembre 2014 - 12:15
Bonjour,

Voici un exemple de code qui retourne l'adresse en fonction de la latitude et de la longitude :
STAdresse est une structure
m_sAdresseBrute est une chaîne
m_sRue est une chaîne
m_nNumero est un entier
m_sDistrictCourt est une chaîne
m_sDistrictLong est une chaîne
m_sCantonLong est une chaîne
m_nCodePostal est un entier
m_sVille est une chaîne
m_sRegion est une chaîne
m_sPaysISOAlpha2 est une chaîne
m_sPays est une chaîne
FIN
tabAdresse est un tableau local de STAdresse
moLatitude est un monétaire =46.99369
moLongitude est un monétaire = 6.93756
sReqOSM est une chaîne = ChaîneConstruit("http://nominatim.openstreetmap.org/reverse?format=xml&lat=%1&lon=%2&zoom=18&addressdetails=1",moLatitude,moLongitude)
fluxOSM est un XMLDocument = XMLOuvre(sReqOSM,depuisURL)
TableauSupprimeTout(tabAdresse)
stAdr est un STAdresse
stAdr:m_sAdresseBrute = fluxOSM.reversegeocode.result..Texte
stAdr:m_sCantonLong =fluxOSM.reversegeocode.addressparts.state..Texte
stAdr:m_sDistrictLong = fluxOSM.reversegeocode.addressparts.county..Texte
stAdr:m_sDistrictCourt = ""
stAdr:m_nNumero = fluxOSM.reversegeocode.addressparts.house_number..Texte
stAdr:m_sVille = fluxOSM.reversegeocode.addressparts.city..Texte
SI stAdr:m_sVille = "" ALORS
stAdr:m_sVille = fluxOSM.reversegeocode.addressparts.town..Texte
FIN
stAdr:m_nCodePostal = fluxOSM.reversegeocode.addressparts.postcode..Texte
stAdr:m_sRue = fluxOSM.reversegeocode.addressparts.road..Texte
stAdr:m_sRegion = ""
stAdr:m_sPaysISOAlpha2 = fluxOSM.reversegeocode.addressparts.country_code..Texte
stAdr:m_sPays = fluxOSM.reversegeocode.addressparts.country..Texte
stAdr:m_sRegion = fluxOSM.reversegeocode.addressparts.neighbourhood..Texte
Trace(stAdr:m_sAdresseBrute)


C'est basé sur OpenStreetMap, si une adresse n'apparaît pas ou n'est pas complète il suffit de l'ajouter pour que le système fonctionne (avec un délai de latence quand même).
Membre enregistré
343 messages
Popularité : +30 (32 votes)
Posté le 29 décembre 2014 - 12:56
Joël a écrit :
Oui,

Sauf que notre ami veut faire l'opération inverse, récupérer l'adresse à partir de latitude+longitude.


Oups, effectivement, j'ai proposé l'inverse !

Merci @Jérôme Calame-Rosset pour ce code

Par contre @Bressuire Informatique n'a pas l'air d'être intéressé par les réponses à son post

--
Pascal H. http://phapps.e-monsite.com
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 29 décembre 2014 - 18:47
Ouff !
Effectivement Joël, j'ai lu à l'envers ! J'investie dans des lunettes ou j'arrête de fréquenter des blondes ! :D
Merci Jérôme, si ça n'intéresse plus @Bressuire Informatique, moi, j'ai récupéré ce code pour ma doc !!
Quel talent ! :merci:

Bonne fêtes à vous tous.
J.Michel
Posté le 30 décembre 2014 - 10:04
Bonjour à tous,

Si les réponses m'intéressent énormément mais vacances obligent je reprends le travail que de ce matin. Je vais regarder du coté du Google api car il doit bien exister ce que je veux vu ce que j'ai lu dans le lien.

Bonne fête à tous.
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 30 décembre 2014 - 18:33
Bonjour,

Comme je l'ai indiqué plus haut mais peut-être pas clairement, il te suffit de passer en paramètre : ?latlng=x,y où x et y sont tes coordonnées

L'exemple d'un symbole français : https://maps.googleapis.com/maps/api/geocode/xml…

Je te laisse découper ton XML ...

--
Bon développement, Patrick [3po.fr]
Membre enregistré
343 messages
Popularité : +30 (32 votes)
Posté le 30 décembre 2014 - 18:44
@Bressuire Informatique, alors bon courage pour le retour de vacances :)

--
Pascal H. http://phapps.e-monsite.com
Posté le 06 janvier 2015 - 15:55
merci Jérôme pour ton code ...
as-tu la même chose pour la récup d'une adresse ?
D'avance merci
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 06 janvier 2015 - 17:40
Le code que j'ai publié plus haut permet de récupérer une adresse.

Est-ce que vous avez besoin de récupérer une latitude et longitude en fonction d'une adresse postale ?
Posté le 07 janvier 2015 - 10:58
effectivement jérome ...
la fonction GglAdresseVersCoordonnées() pourrai correspondre

Localisation est un gglCoordonnée
Localisation = GglAdresseVersCoordonnées("3 rue de puech villa 34000 Montpellier")
Trace(Localisation..Latitude,Localisation..Longitude)

mais j'aimerai le faire avec OpenStreetMap et comparer les temps de réponse.
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 08 janvier 2015 - 10:05
Oui j'ai aussi fait l'inverse avec OSM. Voici le code :

Cette procédure prends comme paramètre l'adresse "brute" dans une seule chaine de caractère.

Procedure AdresseBruteVersCoordonnées(LOCAL sAdresse est une chaîne):(monétaire,monétaire)
moLatitude est un monétaire
moLongitude est un monétaire
sChaine est une chaîne = formatURL(sAdresse)
sReq est une chaîne = "http://nominatim.openstreetmap.org/search?q="+sChaine+"&format=xml&polygon=0&addressdetails=0"
HTTPRequête(sReq)
sResXML est une chaîne = HTTPDonneRésultat(httpRésultat)
xmlDoc est un XMLDocument
xmlDoc = XMLOuvre(sResXML,depuisChaîne)
SI xmlDoc <> Null ALORS
SI xmlDoc..NoeudRacine..Occurrence<1 ALORS

SINON
// Affiche le détail de toutes les racines
POUR TOUT UnNoeudRacine DE xmlDoc..NoeudRacine
DetailNoeudEtSousNoeudsAdresseVersCoordonnées(UnNoeudRacine,moLatitude,moLongitude)
FIN
FIN
FIN

RENVOYER (moLatitude,moLongitude)


moLatitude est un monétaire
moLongitude est un monétaire
(moLatitude, moLongitude) = AdresseBruteVersCoordonnées("3 rue de puech villa Montpellier")
Info(moLatitude+" - "+moLongitude)


va fonctionner, mais attention pas
moLatitude est un monétaire
moLongitude est un monétaire
(moLatitude, moLongitude) = AdresseBruteVersCoordonnées("3 rue de puech villa 34000 Montpellier")
Info(moLatitude+" - "+moLongitude)


C'est pour cela que j'ai fait une deuxième fonction qui prend comme paramètre les élément de l'adresse postale "séparé".
À vous de remplir correctement la structure pour que l'algorithme fonctionne (dans mon code c'est de l'objet, mais il était plus facile de le partager sous forme de structure sur le forum).

Déclaration de la structure à placer dans le code d’initialisation du projet ou de la fenêtre (ou dans la déclaration globale d'une collection de procédure) :
STAdresse est une structure
sRue est une chaîne //<numéro> <nom de la rue>
sVille est une chaîne
sDistrict est une chaîne //District (Arrondissement en France)
sCanton est une chaîne //Canton (Département en France)
sPays est une chaîne //Pays (sous la forme d'un code à 2 caractères ISO 3166-1alpha2) ch, fr, etc.
sCodePostal est une chaîne //Numéro postal
sEmail est une chaîne //Email de celui qui utilise le service (pour être contacté en cas de problème)
FIN


Procedure AdresseVersCoordonnées(LOCAL _stAdresse est un STAdresse):(monétaire,monétaire)
moLatitude est un monétaire
moLongitude est un monétaire
sAdresse est une chaîne = "street=%1&city=%2&county=%3&state=%4&country=%5&postcode=%6&email=%7"
sAdresse = ChaîneConstruit(sAdresse,_stAdresse.sRue,_stAdresse.sVille, _stAdresse.sDistrict, _stAdresse.sCanton,_stAdresse.sPays,_stAdresse.sCodePostal,_stAdresse.sEmail)
sChaine est une chaîne = formatURL(sAdresse)
sReq est une chaîne = "http://nominatim.openstreetmap.org/search?"+sChaine+"&format=xml&polygon=0&addressdetails=1"
HTTPRequête(sReq)
sResXML est une chaîne = HTTPDonneRésultat(httpRésultat)
xmlDoc est un XMLDocument
xmlDoc = XMLOuvre(sResXML,depuisChaîne)
SI xmlDoc <> Null ALORS
SI xmlDoc..NoeudRacine..Occurrence<1 ALORS

SINON
// Affiche le détail de toutes les racines
POUR TOUT UnNoeudRacine DE xmlDoc..NoeudRacine
DetailNoeudEtSousNoeudsAdresseVersCoordonnées(UnNoeudRacine,moLatitude,moLongitude)
FIN
FIN
FIN

RENVOYER (moLatitude,moLongitude)



Procédures de formatage et récursive de parsing du XML pour rendre ce code complet :
Procedure GLOBALE formatURL(LOCAL sch est une chaîne)
RENVOYER SansAccent(Remplace(sch," ","%20"))


Procedure GLOBALE PRIVÉE DetailNoeudEtSousNoeudsAdresseVersCoordonnées(LOCAL unNoeudXML est un xmlNoeud, moLatitude est un monétaire, moLongitude est un monétaire, nNiveau est un entier=0)

sAttributs est une chaîne=""

// Vérifie l'existence des attributs
SI unNoeudXML..Attribut..Occurrence > 0 ALORS
// Oui, donc parcours des attributs
POUR TOUT unAttribut DE unNoeudXML..Attribut
sAttributs+=" "+UnicodeVersAnsi(unAttribut..Nom)+"="""+UnicodeVersAnsi(unAttribut..Valeur)+""""
SELON UnicodeVersAnsi(unAttribut..Nom)
CAS "lat"
moLatitude = UnicodeVersAnsi(unAttribut..Valeur)

CAS "lon"
moLongitude = UnicodeVersAnsi(unAttribut..Valeur)
FIN
FIN
FIN

// Parcours des sous noeuds
POUR TOUT unSousNoeudXML DE unNoeudXML
// Le nom du sous noeud est non vide ? (attention tout est unicode avec les variables XML)
SI PAS UnicodeVersAnsi(unSousNoeudXML..Nom)~="" ALORS
// sous noeuds
DetailNoeudEtSousNoeudsAdresseVersCoordonnées(unSousNoeudXML,moLatitude,moLongitude, nNiveau+1)
// Fin du sous noeud
FIN
FIN


N'oubliez pas non plus de renseigner votre adresse email dans la requête pour pouvoir être contacté en cas de problème.
Posté le 23 mars 2015 - 16:55
Y a t-il une solution Google pour entreprise qui utilise ces paramètres dans l'URL (&client=id_client) et une clé privée (&signature=private_key) afin d'obtenir un flux XML ou JASON?
Présentement la version gratuite offerte par Google est limitée à 2500 requêtes/jours or mon appli fait plus que ça.
Posté le 23 mars 2015 - 17:00
Jérôme Calame-Rosset a écrit :
Oui j'ai aussi fait l'inverse avec OSM. Voici le code :

Cette procédure prends comme paramètre l'adresse "brute" dans une seule chaine de caractère.

Procedure AdresseBruteVersCoordonnées(LOCAL sAdresse est une chaîne):(monétaire,monétaire)
moLatitude est un monétaire
moLongitude est un monétaire
sChaine est une chaîne = formatURL(sAdresse)
sReq est une chaîne = "http://nominatim.openstreetmap.org/search?q="+sChaine+"&format=xml&polygon=0&addressdetails=0"
HTTPRequête(sReq)
sResXML est une chaîne = HTTPDonneRésultat(httpRésultat)
xmlDoc est un XMLDocument
xmlDoc = XMLOuvre(sResXML,depuisChaîne)
SI xmlDoc <> Null ALORS
SI xmlDoc..NoeudRacine..Occurrence<1 ALORS

SINON
// Affiche le détail de toutes les racines
POUR TOUT UnNoeudRacine DE xmlDoc..NoeudRacine
DetailNoeudEtSousNoeudsAdresseVersCoordonnées(UnNoeudRacine,moLatitude,moLongitude)
FIN
FIN
FIN

RENVOYER (moLatitude,moLongitude)


moLatitude est un monétaire
moLongitude est un monétaire
(moLatitude, moLongitude) = AdresseBruteVersCoordonnées("3 rue de puech villa Montpellier")
Info(moLatitude+" - "+moLongitude)


va fonctionner, mais attention pas
moLatitude est un monétaire
moLongitude est un monétaire
(moLatitude, moLongitude) = AdresseBruteVersCoordonnées("3 rue de puech villa 34000 Montpellier")
Info(moLatitude+" - "+moLongitude)


C'est pour cela que j'ai fait une deuxième fonction qui prend comme paramètre les élément de l'adresse postale "séparé".
À vous de remplir correctement la structure pour que l'algorithme fonctionne (dans mon code c'est de l'objet, mais il était plus facile de le partager sous forme de structure sur le forum).

Déclaration de la structure à placer dans le code d’initialisation du projet ou de la fenêtre (ou dans la déclaration globale d'une collection de procédure) :
STAdresse est une structure
sRue est une chaîne //<numéro> <nom de la rue>
sVille est une chaîne
sDistrict est une chaîne //District (Arrondissement en France)
sCanton est une chaîne //Canton (Département en France)
sPays est une chaîne //Pays (sous la forme d'un code à 2 caractères ISO 3166-1alpha2) ch, fr, etc.
sCodePostal est une chaîne //Numéro postal
sEmail est une chaîne //Email de celui qui utilise le service (pour être contacté en cas de problème)
FIN


Procedure AdresseVersCoordonnées(LOCAL _stAdresse est un STAdresse):(monétaire,monétaire)
moLatitude est un monétaire
moLongitude est un monétaire
sAdresse est une chaîne = "street=%1&city=%2&county=%3&state=%4&country=%5&postcode=%6&email=%7"
sAdresse = ChaîneConstruit(sAdresse,_stAdresse.sRue,_stAdresse.sVille, _stAdresse.sDistrict, _stAdresse.sCanton,_stAdresse.sPays,_stAdresse.sCodePostal,_stAdresse.sEmail)
sChaine est une chaîne = formatURL(sAdresse)
sReq est une chaîne = "http://nominatim.openstreetmap.org/search?"+sChaine+"&format=xml&polygon=0&addressdetails=1"
HTTPRequête(sReq)
sResXML est une chaîne = HTTPDonneRésultat(httpRésultat)
xmlDoc est un XMLDocument
xmlDoc = XMLOuvre(sResXML,depuisChaîne)
SI xmlDoc <> Null ALORS
SI xmlDoc..NoeudRacine..Occurrence<1 ALORS

SINON
// Affiche le détail de toutes les racines
POUR TOUT UnNoeudRacine DE xmlDoc..NoeudRacine
DetailNoeudEtSousNoeudsAdresseVersCoordonnées(UnNoeudRacine,moLatitude,moLongitude)
FIN
FIN
FIN

RENVOYER (moLatitude,moLongitude)



Procédures de formatage et récursive de parsing du XML pour rendre ce code complet :
Procedure GLOBALE formatURL(LOCAL sch est une chaîne)
RENVOYER SansAccent(Remplace(sch," ","%20"))


Procedure GLOBALE PRIVÉE DetailNoeudEtSousNoeudsAdresseVersCoordonnées(LOCAL unNoeudXML est un xmlNoeud, moLatitude est un monétaire, moLongitude est un monétaire, nNiveau est un entier=0)

sAttributs est une chaîne=""

// Vérifie l'existence des attributs
SI unNoeudXML..Attribut..Occurrence > 0 ALORS
// Oui, donc parcours des attributs
POUR TOUT unAttribut DE unNoeudXML..Attribut
sAttributs+=" "+UnicodeVersAnsi(unAttribut..Nom)+"="""+UnicodeVersAnsi(unAttribut..Valeur)+""""
SELON UnicodeVersAnsi(unAttribut..Nom)
CAS "lat"
moLatitude = UnicodeVersAnsi(unAttribut..Valeur)

CAS "lon"
moLongitude = UnicodeVersAnsi(unAttribut..Valeur)
FIN
FIN
FIN

// Parcours des sous noeuds
POUR TOUT unSousNoeudXML DE unNoeudXML
// Le nom du sous noeud est non vide ? (attention tout est unicode avec les variables XML)
SI PAS UnicodeVersAnsi(unSousNoeudXML..Nom)~="" ALORS
// sous noeuds
DetailNoeudEtSousNoeudsAdresseVersCoordonnées(unSousNoeudXML,moLatitude,moLongitude, nNiveau+1)
// Fin du sous noeud
FIN
FIN


N'oubliez pas non plus de renseigner votre adresse email dans la requête pour pouvoir être contacté en cas de problème.




[solution entreprise Google]

Y a t-il une solution Google pour entreprise qui permet de récupérer l'adresse en ajoutant ces paramètres dans l'URL (&client=id_client) et une clé privée (&signature=private_key) afin d'obtenir un flux XML ou JASON?
Présentement la version gratuite offerte par Google est limitée à 2500 requêtes/jours or mon appli fait plus que ça.
Posté le 17 septembre 2015 - 11:50
Bonjour Jérôme,

Je m'intéresse au sujet OpenStreetmap et je suis très heureux d'avoir trouvé votre exemple.

Avez vous réussi à afficher des marqueurs sur ces cartes ?

Merci

Laurent Massé
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 18 septembre 2015 - 10:48
Bonjour Laurent,

oui j'ai réussi à afficher des marqueurs sur une carte OpenStreetMap. ;)

Comme un bon projet exemple vaut mieux qu'un long discours, voici mon projet "de base" en Windev 20 pour la cartographie : http://progx.ch/windev/geolocalisation.zip

Il permet les choses suivantes :
- Ajouter une carte OSM interactive (=zoomable et déplaçable à l'envie)
- Ajouter des marqueurs
- Rendre ces marqueurs cliquables et afficher de l'info (par contre malheureusement pas d'appeler une procédure WLangage en retour)
- Faire la même chose avec Google, en dehors des nouvelle fonctionnalités de la 20 de pcsoft
- Convertir une paire latitude/longitude en adresse (OSM + Google Map)
- Convertir une adresse vers une paire latitude/longitude (OSM + Google Map)
- Calcul d'une distance entre deux points à vol d'oiseau
- Calcul d'une distance entre deux points via la route avec option plus rapide ou plus court (OSM + Google Map)

Il manque par contre les choses suivantes :
- Affichage d'un itinéraire
- Appel d'une procédure WLangage lors d'un clic sur un marqueur

Si quelqu'un désires les rajouter à mon projet et en faire bénéficier tout le monde c'est bien volontiers! :merci:

Encore deux choses :
- il faut vraiment donner une adresse e-mail valide car si le projet est "mal" utilisé ou que la montée en charge devient trop importante il faut que les admin d'OSM puissent vous contacter. Il y a un petit mécanisme dans mon projet pour la demander à chaque ouverture, vous verrez très facilement comment mettre la votre en automatique.

- J'utilise pour l'affichage la librairie OpenLayers en version 2.13.1 http://openlayers.org/two/ . Pour le moment ça pointe sur mon serveur mais il faudrait (surtout pour la prod) mettre cela sur votre propre hébergement ou hébergement de votre client.
Très simple : dézipper la librairie sur un hébergement quelconque et remplacer dans le code WLangage de ce projet http://progx.ch/openlayers/ par http://<votre serveur>/<le path qui pointe sur OpenLayers>/

Et bien sûr j'encourage tous ceux qui lisent ce post à contribuer à OpenStreetMap, même juste en ajoutant le numéro de sa rue ou de ses voisins, chaque participation compte! ;)
Posté le 18 septembre 2015 - 14:39
Merci Jérôme,

Excellent, je vais regarder cela avec attention.

Si j'arrive à contribuer à ce source je la completerai pour :
- Affichage d'un itinéraire
- Appel d'une procédure WLangage lors d'un clic sur un marqueur

Mais aussi intégrer une mise à jour Osm depuis une Appli Mobile windev
Ou encore une Bdd déja géocodé par google par exemple...

Laumasse@gmail.com

:):merci:
Membre enregistré
42 messages
Posté le 10 décembre 2016 - 17:30
Bonjour,

Je sais que ce sujet date un peu, mais l'intégration d'OSM m'intéresse fortement, quelqu'un aurait-il encore le projet partagé par Jérôme ? Ou un exemple similaire ?

Merci
Membre enregistré
54 messages
Popularité : +4 (4 votes)
Posté le 26 janvier 2017 - 11:33
Bonjour à tous,

Je suis également intéressé pour récupérer le projet de Jérôme, est-il encore disponible quelque part?

Merci,
Stéphane
Membre enregistré
44 messages
Popularité : +1 (1 vote)
Posté le 28 décembre 2017 - 19:09
Bonsoir Jérôme,

merci pour tous les exemples que tu as communiqué.

J'ai tenté de récupérer ton projet démo mais il n'est plus en ligne. Est-il possible de le récupérer ?

Cordialement
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 29 décembre 2017 - 09:49
Bonjour Cyril,

Le projet a été effectivement déplacé, il et disponible ici : http://progx.ch/PROGX_WEB/windev/geolocalisation.zip

Point important : j'ai retiré de mon serveur la librairie OpenLayers, il faut donc la télécharger sur votre serveur (http://progx.ch/PROGX_WEB/windev/openlayers.zip) puis la faire pointer en paramétrant la bonne URL à la place de (http://progx.ch/OpenLayers/) sur mon projet exemple.

Avec ça ça fonctionne! ;)
Membre enregistré
44 messages
Popularité : +1 (1 vote)
Posté le 31 décembre 2017 - 01:05
Un grand merci Jérôme pour le partage de ton travail. Je suis en train de récupérer ton projet cela va me faire gagner beaucoup de temps

Je te souhaite de joyeuses fêtes.
Membre enregistré
26 messages
Posté le 09 juillet 2018 - 12:39
Bonjour,
certains utilisent toujours openstreetmap pour récupérer une adresse depuis une longitude/latitude?
(http://nominatim.openstreetmap.org/reverse…)

car depuis quelques jours, impossible de faire l'appel dans mon logiciel.
j'ai un message d'erreur : erreur le document xml n'a pas pu être chargé.

Ligne 1, Colonne 47 : Space required after the Public Identifier
Ligne 1, Colonne 47 : SystemLiteral " or ' expected
Ligne 1, Colonne 47 : SYSTEM or PUBLIC, the URI is missing
Ligne 9, Colonne 8 : Opening and ending tag mismatch: hr line 7 and body
Ligne 9, Colonne 15 : Opening and ending tag mismatch: body line 4 and html
Ligne 10, Colonne 1 : Premature end of data in tag html line 2

merci de votre aide

--
Cordialement,
Alexandra R.
Posté le 09 juillet 2018 - 14:12
Bonjour j,ai le même souci. j'ai rajouté un "s" à http et cela remarche. https donc.

Voila si cela peut aider.
Membre enregistré
44 messages
Popularité : +1 (1 vote)
Posté le 09 juillet 2018 - 14:17
Bonjour,

j'ai eu le même souci. J'ai rajouté un "s" dans l'url https://xxxxx au lieu de http://xxxxx.

Si cela peut aider.

Bonne journée.
Membre enregistré
26 messages
Posté le 09 juillet 2018 - 15:47
un GRAND merci.
ca marche juste avec ce s en plus!

je me voyais déjà tout reprendre pour passer avec google maps….

MERCI MERCI MERCI

--
Cordialement,
Alexandra R.
Membre enregistré
44 messages
Popularité : +1 (1 vote)
Posté le 09 juillet 2018 - 16:51
J'ai passé du temps, autant en faire profiter.

bonne continuation.
Posté le 19 janvier 2019 - 00:56
Bonjour à tous,
est il possible de faire afficher les carte openStreetMap dans une application desktop faite en Windev 20? Le composant Map n'affiche que des carte Google .
Merci d'avance.
Posté le 20 avril 2021 - 10:17
Merci pour le code, je viens de l'integrer a mon projet. C'est genial