FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
GPS Android - IOS
GPS Android - IOS
Débuté par Quentin Vsm, 28 fév. 2020 11:38 - 1 réponse
Connectez-vous…
Quentin Vsm
#1
Posté le 28 février 2020 - 11:38
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.
Signaler
0
0
Quentin Vsm
#2
Posté le 04 mars 2020 - 16:12
Up !
Une idée?
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte