DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de géolocalisation
  • Particularités
  • Gestion du suivi : faible précision
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Définit la procédure WLangage appelée lorsque la position de l'utilisateur a changé.
Attention :
  • Avant d'utiliser cette fonction, le suivi de déplacement doit avoir été activé avec la fonction géoSuiviActive.
  • Pour un fonctionnement en arrière-plan, cette fonction doit être appelée dans l'événement WLangage "Initialisation" associé au projet. Pour plus de détails, consultez le paragraphe Remarques.
Exemple
// -- Initialisation du projet (INDISPENSABLE pour un fonctionnement en arrière-plan)
géoSuiviProcédure(ProcédureSuivi)
// Implémentation de la procédure ProcédureSuivi
PROCÉDURE ProcédureSuivi(mPosition est une géoPosition)
// Envoi de la position au serveur
EnvoieServeur(mPosition)
Syntaxe
<Résultat> = géoSuiviProcédure(<Procédure WLangage>)
<Résultat> : Booléen
  • Vrai si le système de suivi de position est disponible,
  • Faux si le système de suivi de position n'est pas disponible. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage appelée lorsque la position de l'utilisateur a changé.
Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Position> est un géoPosition)
Dans ce code, le paramètre <Position> est une variable de type géoPosition correspondant à la position actuelle de l'utilisateur.
Cette procédure doit être une procédure globale de l'application.
Remarques

Particularités

  • La fonction géoSuiviProcédure doit être appelée dans le code d'initialisation du projet. En effet, la procédure WLangage peut être appelée juste après l'initialisation par exemple dans le cas d'un réveil en mode arrière-plan.
  • Lors de la réception d'une position, si l'application est en veille, elle est automatiquement relancée.
  • iPhone/iPadWidget IOSMac Catalyst La fonction géoSuiviProcédure peut être utilisée en mode arrière-plan. Il est recommandé de ne pas accéder à l'interface ou d'ouvrir des fenêtres dans la procédure WLangage car iOS n'autorise pas les accès à l'interface lorsque l'application est en arrière-plan.

Gestion du suivi : faible précision

Attention : Le suivi est un suivi de faible précision. Les événements sont envoyés uniquement en cas de changements significatifs de la position et à des intervalles supérieurs à plusieurs minutes. A titre indicatif, les conditions d'envoi par plateforme sont les suivantes :
  • iPhone/iPadWidget IOSMac Catalyst Les événements de changement de position ne sont pas envoyés si le déplacement est en dessous de 500 mètres ou si l'intervalle de temps est inférieur à 5 minutes (décembre 2014).
  • Android Les événements de changement de position sont envoyés à un intervalle approximatif allant de 30 secondes à 10 minutes selon la vitesse de déplacement.
Pour un suivi plus précis du déplacement, il est nécessaire d'utiliser la fonction GPSSuitDéplacement. Cependant, cette fonction :
  • nécessite que l'application soit lancée,
  • Android nécessite que l'application soit au premier-plan,
  • consomme plus de batterie.
Liste des exemples associés :
WM Geolocalisation Exemples multiplateforme (WINDEV Mobile) : WM Geolocalisation
[ + ] Cet exemple présente comment gérer des recherches de proximité avec géolocalisation :
- recherche autour de moi
- recherche dans une ville, à une adresse donnée, proche d'une adresse.
Les résultats apparaissent dans une zone répétée et dans une carte avec des marqueurs.
Composante : wd300android.aar
Version minimum requise
  • Version 21
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale