PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Gestion des blocages
  • Propriétés récupérées
  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Récupère les informations sur la position actuelle du périphérique.
Versions 16 et supérieures
WEBDEV - Code Navigateur Cette fonction est désormais disponible en code Navigateur.
Nouveauté 16
WEBDEV - Code Navigateur Cette fonction est désormais disponible en code Navigateur.
WEBDEV - Code Navigateur Cette fonction est désormais disponible en code Navigateur.
Versions 17 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App La fonction GPSRécupèrePosition doit être exécutée dans un thread.
Nouveauté 17
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App La fonction GPSRécupèrePosition doit être exécutée dans un thread.
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Universal Windows 10 App La fonction GPSRécupèrePosition doit être exécutée dans un thread.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Versions 22 et supérieures
WINDEVWindows Cette fonction est désormais disponible pour les applications WINDEV.
Nouveauté 22
WINDEVWindows Cette fonction est désormais disponible pour les applications WINDEV.
WINDEVWindows Cette fonction est désormais disponible pour les applications WINDEV.
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)
Versions 16 et supérieures
WEBDEV - Code Navigateur
// Géolocalisation depuis WEBDEV, une procédure navigateur est appelée.
// Traitement réalisé depuis un bouton ayant comme action "aucune"
GPSRécupèrePosition(ProcNavigateur, 200)
// Procédure navigateur "ProcNavigateur"
PROCÉDURE ProcNavigateur(MaPosition est un géoPosition, nMonErreur est un entier)

SELON nMonErreur

CAS gpsErreurOK
// Aucune erreur n'a été détectée
PAGE_Page1.SAI_SansNom1 = MaPosition..Altitude + " " + ...
MaPosition..Longitude
CAS gpsErreurDroit
PAGE_Page1.SAI_SansNom1 = ...
"Le navigateur n'a pas les droits " + ...
"pour utiliser la géolocalisation (ou site non HTTPS)."
CAS gpsErreurPosition
PAGE_Page1.SAI_SansNom1 = "Impossible de déterminer la position " + ...
"(erreur interne du fournisseur d'accès par exemple)."
CAS gpsErreurTimeout
PAGE_Page1.SAI_SansNom1 = ...
"La position n'a pas pu être récupérée " + ...
"dans le temps imparti."
AUTRE CAS
PAGE_Page1.SAI_SansNom1 = "Erreur indéterminée"
FIN
Nouveauté 16
WEBDEV - Code Navigateur
// Géolocalisation depuis WEBDEV, une procédure navigateur est appelée.
// Traitement réalisé depuis un bouton ayant comme action "aucune"
GPSRécupèrePosition(ProcNavigateur, 200)
// Procédure navigateur "ProcNavigateur"
PROCÉDURE ProcNavigateur(MaPosition est un géoPosition, nMonErreur est un entier)

SELON nMonErreur

CAS gpsErreurOK
// Aucune erreur n'a été détectée
PAGE_Page1.SAI_SansNom1 = MaPosition..Altitude + " " + ...
MaPosition..Longitude
CAS gpsErreurDroit
PAGE_Page1.SAI_SansNom1 = ...
"Le navigateur n'a pas les droits " + ...
"pour utiliser la géolocalisation (ou site non HTTPS)."
CAS gpsErreurPosition
PAGE_Page1.SAI_SansNom1 = "Impossible de déterminer la position " + ...
"(erreur interne du fournisseur d'accès par exemple)."
CAS gpsErreurTimeout
PAGE_Page1.SAI_SansNom1 = ...
"La position n'a pas pu être récupérée " + ...
"dans le temps imparti."
AUTRE CAS
PAGE_Page1.SAI_SansNom1 = "Erreur indéterminée"
FIN
WEBDEV - Code Navigateur
// Géolocalisation depuis WEBDEV, une procédure navigateur est appelée.
// Traitement réalisé depuis un bouton ayant comme action "aucune"
GPSRécupèrePosition(ProcNavigateur, 200)
// Procédure navigateur "ProcNavigateur"
PROCÉDURE ProcNavigateur(MaPosition est un géoPosition, nMonErreur est un entier)

SELON nMonErreur

CAS gpsErreurOK
// Aucune erreur n'a été détectée
PAGE_Page1.SAI_SansNom1 = MaPosition..Altitude + " " + ...
MaPosition..Longitude
CAS gpsErreurDroit
PAGE_Page1.SAI_SansNom1 = ...
"Le navigateur n'a pas les droits " + ...
"pour utiliser la géolocalisation (ou site non HTTPS)."
CAS gpsErreurPosition
PAGE_Page1.SAI_SansNom1 = "Impossible de déterminer la position " + ...
"(erreur interne du fournisseur d'accès par exemple)."
CAS gpsErreurTimeout
PAGE_Page1.SAI_SansNom1 = ...
"La position n'a pas pu être récupérée " + ...
"dans le temps imparti."
AUTRE CAS
PAGE_Page1.SAI_SansNom1 = "Erreur indéterminée"
FIN
Syntaxe
WINDEVAndroidWidget AndroidiPhone/iPadUniversal Windows 10 App

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,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    Nouveauté 23
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
<Message> : Chaîne de caractères optionnelle (avec guillemets)
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.
WINDEVUniversal Windows 10 App Ce paramètre n'est pas pris en compte.
WEBDEV - Code Navigateur

Récupération des informations en code Navigateur Masquer les détails

GPSRécupèrePosition([<Nom de la procédure> [, <Timeout>]])
<Nom de la procédure> : Chaîne de caractères (avec ou sans guillemets)
Nom de la procédure WLangage en code navigateur (également nommée "callback") appelée lorsque la position est récupérée.
Cette procédure est de la forme :
PROCEDURE <Nom de la Procédure>(<Position>,<Erreur>)
où :
  • <Erreur> est une constante de type Entier correspondant au code d'erreur et pouvant prendre les valeurs suivantes :
    gpsErreurOKAucune erreur n'a été détectée.
    gpsErreurDroit
    • Le navigateur n'a pas les droits pour utiliser la géolocalisation.
    • Le navigateur est récent et le site n'utilise pas le protocole sécurisé HTTPS.
    gpsErreurPositionImpossible de déterminer la position (erreur interne du fournisseur d'accès par exemple).
    gpsErreurTimeoutLa position n'a pas pu être récupérée dans le temps imparti.
<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, l'erreur gpsErreurTimeOut est renvoyée dans le paramètre <Erreur> de la procédure WLangage.
  • 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,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    Nouveauté 23
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
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é.
WEBDEV - Code Navigateur Cette fonction n'est pas bloquante.
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.
AndroidWidget AndroidiPhone/iPadUniversal Windows 10 App

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/iPad 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.
Versions 17 et supérieures
iPhone/iPad

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.
Nouveauté 17
iPhone/iPad

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.
iPhone/iPad

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.
Versions 21 et supérieures
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.
Nouveauté 21
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.
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.
Remarque : A partir de Chrome 50 (y compris sur Android), la fonction GPSRécupèrePosition ne peut être utilisée que sur des sites sécurisés (via un certificat SSL par exemple). Si le site n'est pas sécurisé, la fonction ne renvoie pas un résultat exploitable. Lors de test en local (localhost), la fonction fonctionne correctement.
Composantes
WINDEV wd230java.dll
WEBDEV - Code Navigateur WDJS.DLL
Android wd230android.jar
Version minimum requise
  • Version 15
Documentation également disponible pour…
Commentaires
Video Trajeto Mapa



https://youtu.be/bSk0ysOlacE
amarildo
03 nov. 2018