2015-04-24 1 views
1

Lorsque j'obtiens l'emplacement du gestionnaire d'emplacement android, je suis confronté à un problème. Même lorsque je suis assis à un endroit et ne bouge pas, la latitude et la longitude que j'obtiens dans l'écouteur onLocationChange() changent constamment. J'ai mis le temps de mise à jour 500ms et mettre à jour la distance comme 5 mètres. Une idée sur la façon de le réparer?Changement d'emplacement même lorsque le téléphone est maintenu sur la table

+0

Vous pouvez ignorer les petits changements de latitude –

+0

Je veux l'emplacement exact de la mienne. Je ne peux pas ignorer les changements au lat long. –

Répondre

1

Le décalage GPS est d'environ 8 mètres pour les téléphones normaux et de 15 à 20 mètres pour les anciens. Vous pouvez définir la distance minimale pour plus de 15 mètres et cela devrait aider.
Si vous utilisez le fournisseur NETWORK, il faut utiliser les emplacements des routeurs WiFi et des tours Cellolar. dans ce cas, si le téléphone change de tour de téléphonie ou capte une nouvelle connexion Wi-Fi, l'emplacement peut changer de plus de 20 mètres (20-70 mètres pour le WiFi et 500-1500 mètres pour les tours de téléphonie cellulaire).
Une autre chose que vous pouvez faire est de prendre en compte le paramètre de précision des emplacements que vous obtenez, il devrait vous donner une estimation approximative de l'erreur du fournisseur (EG GPS vs réseau vs WiFi) et vous pouvez essayer de comprendre est en mouvement ou non en calculant:

if (position_A.distanceTo(position_B) - position_B.getAcuracy() >0){ 
    do something. //location change. 
} 

Mise à jour voir que des éclaircissements, alors que le point bleu est l'emplacement de votre appareil vous donne, l'emplacement réel peut être partout dans le rayon bleu.
enter image description here

+0

qu'en est-il d'une application qui dépend du nombre d'étapes ou de la distance parcourue par la personne comme google fit? –

+0

Qu'en est-il? Je parle du capteur GPS, pas du programme qui l'utilise. –

+0

oui ... comment gérer la distance. Il doit être précis à 1 mètre mais même lorsque je ne bouge pas la distance change. –