DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de géolocalisation
  • Cas particuliers
  • Fonctionnement sous iPhone/iPad
  • Permissions requises
  • Fonctionnalité d'application requise
  • Navigateurs autorisant la géolocalisation
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 l'état d'activation du fournisseur de géolocalisation ou demande à être notifié lors du changement d'état.
WEBDEV - Code Navigateur Récupère uniquement l'état d'activation du fournisseur de géolocalisation.
Exemple
// Teste l'état du fournisseur GPS
SI GPSEtat() = gpsDésactivé ALORS
Info("La géolocalisation n'est pas active.")
FIN
Universal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst
// Branche une procédure de notification en cas de modification de l'état du GPS
GPSEtat(ProcEtatGPS)
// Procédure appelée à chaque modification de l'état du GPS
PROCÉDURE ProcEtatGPS(Etat_GPS est un entier)
 
SI Etat_GPS = gpsIndisponible ALORS
Info("La géolocalisation est temporairement indisponible.")
FIN
Syntaxe

Récupérer l'état d'activation du fournisseur Masquer les détails

<Résultat> = GPSEtat()
<Résultat> : Constante de type Entier
Etat d'activation du fournisseur de localisation. Les valeurs suivantes peuvent être renvoyées :
gpsActivéLe fournisseur est activé.
gpsDésactivéLe fournisseur est désactivé.
gpsErreurErreur pendant la récupération de l'état d'activation du fournisseur. Utilisez la fonction ErreurInfo pour obtenir le détail de l'erreur.
WINDEVWEBDEV - Code NavigateurUniversal Windows 10 App Cette constante n'est pas disponible.
WINDEVUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst

Demander une notification lors d'un changement d'état d'activation Masquer les détails

GPSEtat(<Procédure WLangage>)
<Procédure WLangage> : Nom de procédure
Procédure WLangage (également nommée "callback") appelée à chaque notification.
Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Etat>)
Le paramètre <Etat> est une constante de type entier correspondant au nouvel état du fournisseur.
Il peut prendre les valeurs suivantes :
gpsActivéLe fournisseur a été activé par l'utilisateur.
gpsDésactivéLe fournisseur a été désactivé par l'utilisateur.
gpsDisponibleLe fournisseur est disponible.
gpsHorsServiceLe fournisseur est hors-service.
gpsIndisponibleLe fournisseur est temporairement indisponible.
Remarques

Cas particuliers

  • 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 l'état de ce fournisseur.
  • Universal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst Pour ne plus recevoir de notification de changement d'état, utilisez la fonction GPSEtat en lui passant une chaîne vide ("") en paramètre ou utilisez la fonction GPSTermine.
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.
WEBDEV - Code Navigateur

Navigateurs autorisant la géolocalisation

Attention : La géolocalisation n'est disponible que sur certains navigateurs récents :
  • FireFox à partir de la version 3.5,
  • Chrome à partir de la version 5.0.342.1,
  • Opéra à partir de la version 10.6,
  • Safari à partir de la version 5.0.
Lors de l'appel à une fonction de géolocalisation, le navigateur demande l'autorisation de localiser.
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.
Android GPS Android (WINDEV Mobile) : Android GPS
[ + ] Cet exemple montre l'utilisation des fonctions GPS du WLangage dans une application Android.
Il permet de récupérer à intervalle régulier :
- La latitude
- La longitude
- L'altitude
- La vitesse
- la direction
Composante : wd290java.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