DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Carte
  • Cas particuliers
  • 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
Affiche la position courante de l'appareil dans un champ Carte et met à jour cette position durant son déplacement.
Android Remarque : Cette fonction est disponible dans l'émulateur Android et dans le simulateur Android.
Exemple
// Démarre le suivi du déplacement dans le champ Carte
CarteSuitDéplacement(CARTE_Position)
Syntaxe
<Résultat> = CarteSuitDéplacement(<Champ Carte> [, <Boussole> [, <Procédure WLangage>]])
<Résultat> : Booléen
  • Vrai si le suivi du déplacement a été activé,
  • Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Champ Carte> : Nom de champ
Nom du champ Carte à manipuler. Si ce paramètre correspond à une chaîne vide (""), le champ Carte auquel appartient l'événement en cours sera utilisé.
<Boussole> : Booléen optionnel
  • Vrai pour activer la boussole. Une boussole s'affiche dans le champ Carte pour indiquer l'orientation du déplacement de l'appareil. Cette option est disponible uniquement sur les appareils équipés d'un capteur d'orientation.
  • Faux (valeur par défaut) pour désactiver la boussole.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée à chaque notification de changement de position. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure> (<Position>)

où <Position> est une variable de type géoPosition contenant les informations sur la position de l'appareil au moment de la notification.
Les paramètres de cette procédure sont optionnels. Il n'est pas nécessaire de passer de paramètres à cette procédure. En effet, ces paramètres sont renseignés automatiquement à chaque appel.
Si cette procédure retourne Faux, la carte affichée dans le champ Carte ne sera pas rafraîchie.
Si ce paramètre n'est pas précisé, à chaque notification de changement de la position de l'appareil, la carte affichée dans le champ Carte est automatiquement centrée sur la nouvelle position.
Remarques

Cas particuliers

  • Pour stopper le suivi du déplacement, utilisez la fonction CarteFinDéplacement.
  • Un cercle bleue peut apparaître autour du marqueur indiquant la position actuelle de l'appareil. Ce cercle est une représentation du niveau de précision de la position. Plus il est étendu et moins la position est précise. Pour déterminer la position de l'appareil, la fonction utilise deux sortes de "fournisseurs de localisation" :
    • le réseau de satellites GPS,
    • la triangulation effectuée à partir du réseau d'antennes mobiles et Wi-Fi.
    Le choix de l'un ou l'autre dépend du paramétrage de localisation de l'appareil au moment de l'appel.
  • Un certain laps de temps peut s'écouler entre l'appel de la fonction CarteSuitDéplacement et l'affichage effectif de la position de l'appareil sur la carte. Ce délai correspond au temps nécessaire au fournisseur de localisation (GPS ou réseau mobile/Wi-Fi) pour déterminer la position courante de l'appareil. Une fois cette position obtenue, le champ carte est automatiquement centré sur cette dernière.
Android

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permission requise : ACCESS_FINE_LOCATION
Cette permission permet à une application d'accéder à un emplacement précis (GPS).
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'utiliser les fonctionnalités de géolocalisation de l'appareil.
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.
WM Sports Exemples multiplateforme (WINDEV Mobile) : WM Sports
[ + ] Cet exemple est une application de sport vous permettant d'enregistrer vos performances.
L'application calcule la distance parcourue, le temps, la vitesse moyenne et le nombre de calories dépensées en fonction du sport pratiqué.
Le parcours réalisé est affiché sur un champ carte grâce à des marqueurs et un tracé d'itinéraire.
Si vous disposez d'une montre Apple Watch, vous pourrez piloter WM Sports avec votre montre !

L'exemple dispose aussi d'une partie serveur qui sert à la synchronisation des données des utilisateurs.
Ce webservice est disponible dans l'exemple WEBDEV "WW_Sports".
Composante : WDJS.DLL
Version minimum requise
  • Version 17
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