PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WINDEV Mobile 2024
→
GPS Android - IOS
GPS Android - IOS
Started by Quentin Vsm, Feb., 28 2020 11:38 AM - 1 reply
Connect yourself…
Quentin Vsm
#1
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.
Report
0
0
Quentin Vsm
#2
Posted on March, 04 2020 - 4:12 PM
Up !
Une idée?
Report
0
0
→ Go back to WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Off-topic
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text