PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → GPS Android - IOS
GPS Android - IOS
Started by Quentin Vsm, Feb., 28 2020 11:38 AM - 1 reply
Posted on February, 28 2020 - 11:38 AM
Bonjour,

Je développe actuellement une application me permettant de connaître la précision exacte entre un point A et un point B.
Je me suis donc naturellement tourné vers la fonction "GPSSuitDéplacement". Le problème étant que les résultats donnés sont en dessous de la valeur réelle. Plus on parcours de distance plus le GPS prend du retard. Pour une estimation réelle a 10km le GPS renvoie 8,7km... cet écart est bien trop important et augmente avec la distance.

NOTE : avant d'aller plus loin, la doc a changé et "GPSSuitDéplacement" peut tourner en arrière plan sur Android (testé et approuvé !) contrairement à ce qui est écrit içi : https://doc.pcsoft.fr/fr-FR/?1000019277&name=gestion_geolocalisation_gps#NOTE3_1 (cette documentation ne doit pas être à jour)
Le problème ne vient donc pas du fait que l'application soit en premier plan ou non.

Pour gérer le GPS j'ai crée une classe "GPS" qui incrémente sont attribut "Distance" à chaque appel :

Démarrage du gps :
GPSInitParamètre(gpsAuto, gpsPrécisionElevée)
// le fournisseur est bien GPS
Distance = 0
PremiereVal = False
GPSSuitDéplacement(RecuperePosition, GPS_SUIVI_DELAI,GPS_SUIVI_DISTANCE)
// GPS_SUIVI_DELAI = 500 et GPS_SUIVI_DISTANCE =5


Procedure RecuperePosition(MaPosition)
SI(GPS_Finis()=False ET GPS_Pause()=False ) ALORS
SI PremiereVal = False ALORS
ActuelPos = MaPosition
PremiereVal = True
//Traitement en base de donnée
SINON
Distance = Distance + geoDistance(ActuelPos,MaPosition)
ActuelPos = MaPosition

//maj de l'intreface
//Traitement en base de donnée
FIN
FIN


Dans la procédure RecuperePosition on fait des traitements avec la base de donnée et on met à jour l’interface. Je m'explique mal mon problème avec ça, selon mes paramètres on appel RecuperePosition au plus toutes les 5secondes.. or un traitement en base de donnée ou sur l'interface prend largement moins de temps.

Si quelqu'un a une piste je suis très intéressé. J'ai testé beaucoup de choses (passé en natif, geosuivis...) mais rien n'arrive à la précision requise par le client.
Posted on March, 04 2020 - 4:12 PM
Up !
Une idée?