DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de géolocalisation
  • Gestion des blocages
  • Propriétés récupérées
  • Fonctionnement sous iPhone/iPad
  • Permissions requises
  • Fonctionnalité d'application requise
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
Récupère les informations sur la position actuelle du périphérique.
Universal Windows 10 App La fonction GPSRécupèrePosition doit être exécutée dans un thread.
Exemple
MaPosition est une géoPosition
MaPosition = GPSRécupèrePosition()
// Vérifie validité de la position avec ErreurDétectée
SI ErreurDétectée ALORS RETOUR
Info(" Latitude : " + MaPosition.Latitude) 
Info(" Longitude : " + MaPosition.Longitude)
Syntaxe
Universal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst

Récupération des informations sur un périphérique (mobile, ...) Masquer les détails

<Résultat> = GPSRécupèrePosition([<Timeout> [, <Message>]])
<Résultat> : Variable de type géoPosition
Variable de type géoPosition contenant les informations sur la position du périphérique. Si la position est invalide, la variable ErreurDétectée vaut Vrai et le détail de l'erreur peut être obtenu avec la fonction ErreurInfo.
Android La propriété PositionValide du type géoPosition permet de savoir si la position est valide.
<Timeout> : Entier optionnel ou Durée optionnelle
Délai maximal (en centièmes de seconde) d'attente pour la mise à jour de la position du périphérique.
  • Si ce délai est écoulé avant que la position du périphérique n'ait été mise à jour, une erreur se produit. Cette erreur peut être détectée grâce à la variable ErreurDétectée et le détail de l'erreur peut être obtenu avec la fonction ErreurInfo.
  • Si ce paramètre n'est pas spécifié, le délai est de 1 minute.
Remarque : Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de centièmes de seconde,
  • une variable de type Durée,
  • l'indication directe de la durée (par exemple 1 s ou 10 ms).
<Message> : Chaîne de caractères optionnelle
Message du sablier affiché pendant la mise à jour de la position.
Remarque : Ce paramètre est pris en compte uniquement si l'appel est effectué dans le thread principal de l'application.
Universal Windows 10 App Ce paramètre n'est pas pris en compte.
Remarques

Gestion des blocages

La fonction GPSRécupèrePosition est bloquante jusqu'à ce que la position actuelle de l'appareil ait pu être déterminée ou que le délai d'attente fixé par le paramètre <Timeout> ait expiré.
Si la fonction est appelée dans le thread principal de l'application, un sablier sera affiché durant l'exécution de la fonction. Le message affiché par le sablier peut être spécifié grâce au paramètre <Message>.
Dans le cas contraire, l'exécution du thread secondaire sera bloquée durant l'exécution de la fonction et aucun sablier ne sera affiché.
Remarque : Pour connaître la dernière position connue de l'appareil sans délai d'attente, utilisez la fonction GPSDernièrePosition. Attention, les informations de positionnement récupérées peuvent ne pas correspondre à la position actuelle du périphérique si par exemple le périphérique a été déplacé alors que le signal GPS n'était pas valide. Il est possible de connaître la date et l'heure à laquelle la position a été calculée grâce à la propriété DateMesure de la variable de type géoPosition.
Universal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst

Propriétés récupérées

  • Pour savoir si les propriétés Vitesse, Précision, Direction ou Altitude d'une variable de type géoPosition ont été renseignées lors de la récupération de la position, utilisez les propriétés VitesseValide, PrécisionValide, DirectionValide et AltitudeValide.
  • Pour réinitialiser une variable de type géoPosition, utilisez la fonction VariableRAZ.
  • AndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst Il est conseillé d'initialiser les paramètres du fournisseur de localisation à l'aide de la fonction GPSInitParamètre avant de récupérer une position.
  • Les informations de positionnement récupérées correspondent à la dernière position connue du périphérique : elles peuvent donc ne pas correspondre à la position actuelle du périphérique si par exemple le périphérique a été déplacé alors que le signal GPS n'était pas valide. Il est possible de connaître la date et l'heure à laquelle la position a été calculée grâce à la propriété DateMesure de la variable géoPosition.
  • Les propriétés Vitesse, Précision, Direction et Altitude seront renseignées uniquement si le fournisseur de localisation le permet (dans le cas contraire, elles prendront leur valeur par défaut).
    AndroidWidget Android Le fournisseur de localisation peut être paramétré grâce à la fonction GPSInitParamètre.
iPhone/iPadWidget IOSMac Catalyst

Fonctionnement sous iPhone/iPad

Au premier lancement d'une fonction GPS, le système demande à l'utilisateur l'autorisation d'effectuer une géolocalisation. En cas de refus de l'utilisateur, toutes les fonctions GPS utilisées dans la suite de l'application échoueront (erreur fatale).
Pour ré-autoriser l'utilisation du GPS pour cette application, il est nécessaire de modifier la configuration système de l'application.
AndroidWidget Android

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permission requise : ACCESS_FINE_LOCATION.
Spécificité Android 11 : L'utilisation de cette fonction nécessite la mise en place de la permission ACCESS_BACKGROUND_LOCATION permettant la localisation de l'appareil.
Cette permission permet d'autoriser l'utilisation de la fonction lorsque l'application est en arrière-plan.
Si l'application nécessite la localisation en arrière-plan, il faut :
  • Ajouter manuellement la permission "ACCESS_BACKGROUND_LOCATION" dans l'assistant de génération de l'application Android.
  • Demander explicitement la permission de localisation en arrière-plan à l'utilisateur avec la fonction PermissionDemande. Par exemple :
    PermissionDemande(permLocalisationEnArrièrePlan, Callback)
    PROCÉDURE INTERNE Callback(p est une Permission)
    	SI p.Accordé ALORS
    		// Utilisation possible des fonctions nécessitant la localisation en arrière-plan
    	FIN
    FIN
Une fenêtre permet à l'utilisateur de :
  • accepter l'accès à la position de l'appareil avec l'application en arrière-plan,
  • limiter l'accès à la position à l'application active,
  • refuser l'accès à la position.
L'utilisateur peut également modifier son autorisation à posteriori dans les réglages de Android.
Remarques :
  • Respectez les spécifications Google concernant les applications utilisant la localisation en arrière-plan. Pour plus de détails, consultez https://support.google.com/googleplay/android-developer/answer/9799150. Si ces conditions ne sont pas remplies (notamment les conditions d'information de l'utilisateur), les applications pourront ne pas obtenir l'autorisation de publication sur Play Store.
  • La demande de permission de localisation en arrière-plan ne doit être effectuée que si la permission de localisation a été accordée. Dans le cas contraire, la fonction PermissionDemande échouera.
  • Si le choix de l'utilisateur lors de la demande de permission de localisation en arrière-plan est plus restrictif que le choix effectué lors de la demande de permission de localisation, l'application sera automatiquement relancée.
  • Sur les appareils en version inférieure à Android 10, si la permission de localisation a été accordée à l'application, la demande de permission de localisation en arrière-plan sera accordée sans affichage de fenêtre.
Universal Windows 10 App

Fonctionnalité d'application requise

L'utilisation de cette fonction entraîne la déclaration d'une fonctionnalité d'application dans l'assistant de génération de l'application.
Fonctionnalité requise : Géolocalisation
Cette fonctionnalité permet aux applications d'accéder aux données de géolocalisation de l'appareil ou de l'ordinateur.
Classification Métier / UI : Code métier
Composante : wd300java.dll
Version minimum requise
  • Version 15
Documentation également disponible pour…
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