2017-08-26 2 views
2

J'ai un périphérique de suivi utilisant à la fois le réseau et le GPS en tant que fournisseur.Android onLocationChanged (maxDistance)

Cependant, parfois les fournisseurs m'envoie un emplacement qui est loin de la marque. Comment puis-je résoudre ce problème? Y a-t-il un paramètre quelconque qui ignore les changements de distance pour les mises à jour supérieures à une certaine quantité?

Ouvert à tous les conseils! Merci

+0

Comment configurer 'LocationRequest' pour récupérer la mise à jour de la position? – Wizard

+0

@Wizard demandez-vous de l'aide ou essayez-vous de résoudre mon problème? – HelpinCodingpls

Répondre

0

dans mon OnLocationChanged, j'ai ajouté un vérificateur si location.distance < 300m, je voudrais utiliser les données. Des défauts à cela?

+0

300m est une assez longue distance. Si vous avez besoin d'un emplacement précis, je suggère d'aller beaucoup plus bas – swerly

+0

@swerly merci pour votre suggestion. J'utilise 300m car il est difficile d'émuler (studio android) un changement de distance de <300m – HelpinCodingpls

1

Combien de mises à jour vérifiez-vous? Si vous ne vérifiez qu'une seule mise à jour, elle peut renvoyer la même valeur à chaque fois. Si vous créez une demande d'emplacement à l'aide de LocationRequest.create(), vous pouvez définir le nombre de mises à jour supérieur à 1 en utilisant request.setNumUpdates(int). Vous pouvez ensuite définir un seuil dans onLocationChanged pour voir si l'emplacement renvoyé est inférieur à une certaine valeur.

+0

Je vérifie en permanence les mises à jour. Cela ressemblera à une application en cours d'exécution – HelpinCodingpls