PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 23 → Transformer Geoposition en Adresse pour affichage Itinéraire
Transformer Geoposition en Adresse pour affichage Itinéraire
Débuté par ENERGIES 2050, 03 aoû. 2018 10:38 - 2 réponses
Membre enregistré
12 messages
Posté le 03 août 2018 - 10:38
Bonjour à Tous !

Voila je suis toujours sur mon application de mapping de pistes cyclables et autre calcul d'itinéraires pour les vélos, mais je suis bloqué à l'étape de calcul d'itinéraires. Pourtant cela paraissait simple avant que j'ai appris les limitations de la gestion de localisation de Windev (par exemple, une variable géoposition ne permet pas d'obtenir le numéro de la rue ou l'adresse complète... serieusement?)

Du coup, pour mon menu itinéraire, j'ai un menu (provisoire) comme ceci :





Avec la possibilité, basique, de rentrer directement la position où l'on est, en départ ou en arrivée. Le problème c'est que :

Si la personne veut obtenir sa position, le code renvoie un GéoPosition
Si la personne veut taper son adresse (j'ai toujours pas reussi à avoir de l'auto complétion google maps), le code renvoie une adresse.

Je ne sais pas comment gérer les 2 variables de types différents pour faire un tableau, et le mettre dans la fonction CarteAjouteItinéraire :/

Merci d'avance pour votre aide !
Membre enregistré
772 messages
Popularité : +3 (3 votes)
Posté le 03 août 2018 - 12:04
Bonjour,

La GeoLocalisation permet de te géolocaliser, donc obtenir depuis le signal GPS ta longitude et ta latitude. C'est le principe du GPS (https://fr.wikipedia.org/wiki/Global_Positioning_System)

Maintenant il ne faut pas confondre la techno GPS et l'appareil qu'on appelle communément GPS.
Pour obtenir l'adresse il faut faire appel a un service de cartographie, exemple GOOGLE MAP. Et c'est possible en windev mobile.

Voici un petit bout de code :

MaPosition est une geoPosition = GPSRécupèrePosition() // récupere les coordonnées GPS actuelles
AdresseDeDestination est une Adresse = géoRécupèreAdresse(sAdresse) // recherche sur google une adresse et permet d'obtenir sa geoloc
géoLanceAppli(MaPosition, AdresseDeDestination..Position) // ouvre google map et affiche l'itinéraire.


Il est possible d'aller beaucoup plus loin avec les API google : https://cloud.google.com/maps-platform/…
Membre enregistré
12 messages
Posté le 06 août 2018 - 11:37
Merci pour votre réponse. Néanmoins, la fonction GeoRecupereAdresse renvoie une variable adresse. Et non pas une variable Géoposition.
Or, on ne peut pas placer un marqueur qu'avec une variable géoposition. D'où mon problème de gérer les deux...

Et quand je demande un CarteAjoutItinéraire, il ne place aucun marqueur. Juste le trait de l'itinéraire...
Il y a bien une propriété "Position" à une variable adresse mais celle-ci est optionnelle... (utile...) et donc vide par défaut...

Du coup cela fait 4j que je galère juste pour afficher un itinéraire sur une map (et non sur l'application google map du téléphone)...