IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windev Mobile Discussion :

Calculer la distance parcourue avec GPSSuitDéplacement


Sujet :

Windev Mobile

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Calculer la distance parcourue avec GPSSuitDéplacement
    Salut,
    Je souhaiterai calculer la distance parcourue grâce aux fonctions GPS sous Android.
    J'ai écrit le code ci dessous mais cela me renvoie des valeurs incorrectes.
    Si vous avez une idée du problème ou une autre solution avec WM pour récupérer la distance parcourue ce serai parfait.
    Yves D.

    Le code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    DistanceInstant est un réel
    DistanceTotale est un réel
    PositionPrecedente est une géoPosition
    i est un entier
     
    // Initialisation du GPS
    GPSInitParamètre(gpsAuto,gpsPrécisionElevée+gpsEnergieElevée)
     
    // Est ce que le GPS est actif ?
    SI GPSEtat() <> gpsActivé ALORS
    	Erreur("Le GPS n'est pas en état de fonctionner.","Veuillez l'activer pour avoir accès à cette application.")
    	FinProgramme()
    SINON
    	LIB_Etat = "GPS Activé"
    	DistanceInstant=0
    	DistanceTotale=0
    	i=0
    	// Demande à suivre le déplacement avec un temps maxi et une distance maxi entre deux appels 
    	GPSSuitDéplacement(Distance,1000,5)
     
    FIN 
     
    PROCEDURE Distance(PositionActuelle est une géoPosition)
    DistanceInstant=géoDistance(PositionPrecedente,PositionActuelle,géoMètre)
    SI i<>0 ALORS DistanceTotale=DistanceTotale+DistanceInstant // pour initialiser la première position
    PositionPrecedente=PositionActuelle
    i=1
    LIB_Distance = ChaîneConstruit("Distance : %1",NumériqueVersChaîne(DistanceTotale, "10.3f"))

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 91
    Points : 133
    Points
    133
    Par défaut
    Bonjour,

    Tu testes le GPS en début, oui,mais si il n'est plus actif, tu peux te retrouver avec des infos différentes.
    Donc en premier, je ferai une procédure sur l'état du GPS .

    Tu pourrai sinon mettre ta procédure GPSSuitDéplacement(_Distance) dans la procédure de changement d'état du GPS

    Procedure GPSEtat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Procédure appelée à chaque modification de l'état du GPS
    PROCEDURE ProcEtatGPS(Etat_GPS est un entier)
     
    SI Etat_GPS = gpsIndisponible ALORS
    Info("La géolocalisation est temporairement indisponible.")
    sinon
    GPSSuitDéplacement(Distance,1000)
    FIN
    PROCEDURE Distance(PositionActuelle est une géoPosition)
     
    DistanceTotal = DistanceTotal + geoDistance(PositionActuelle, PositionPrecedente)
    PositionPrecedente=PositionActuelle
    A noter quand même que tu peux récupérer des "erreurs" pour vérifier.
    Il y a une propriété intéressante sur geoposition, c'est DateMesure https://doc.pcsoft.fr/?1000019191&na..._type_variable
    Elle te permet de savoir quand a été pris la dernière position.

    J'essayerai en premier avec GPSSuitDéplacement avec les valeurs par défaut ( 60 s et 5 mètres)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Merci pour vos conseils, je vais reprendre mon code comme indiqué.
    Yves D.

Discussions similaires

  1. Calcule de distance avec la fonction distanceTo()
    Par etude_geo dans le forum IGN API Géoportail
    Réponses: 7
    Dernier message: 20/06/2012, 14h11
  2. [Google Maps] Calculer une distance sur route avec lat lon
    Par abel.ludba dans le forum APIs Google
    Réponses: 1
    Dernier message: 22/05/2012, 22h49
  3. Calcul de distance et export gpx avec l'api
    Par gustrimaille dans le forum IGN API Géoportail
    Réponses: 6
    Dernier message: 23/04/2010, 10h58
  4. Calcul de distance avec Google Map
    Par jouclar dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 22/04/2010, 15h58
  5. Calculer une distance avec mappoint
    Par Amokrane dans le forum Framework .NET
    Réponses: 2
    Dernier message: 21/03/2008, 20h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo