J'aimerais utiliser la position GPS fin dans mon application. J'ai donc suivi un simple tutoriel (utilisation de base de l'emplacement de l'emplacement du fournisseur GPS réglementé, demandez des mises à jour 0 ms, 0 m) et créez une application. Je n'ai totalement pas été impressionné par la précision et la rapidité des mises à jour. C'était lent et la meilleure précision était de 24 mètres, mais en moyenne 96. P>
sur le même téléphone, du même endroit, je suis très connu Statut GPS . Et j'ai été étonné de voir à quel point le correctif était précis. 4-6 mètres, systématiquement. P>
J'ai donc éteint le statut GPS et exécutez mon application - Je vois la précision de 6 mètres, mais quelques secondes plus tard, il est 24, 56, 90, 128 ... et fluctuer autour de 96. P>
Maintenant, je me demande: comment cela est possible? Y a-t-il des astuces pour renforcer la précision? !! P>
Quelqu'un a-t-il de bons exemples / tutoriels? P>
Cela n'aide pas p>
Permettez-moi de répéter: je reçois et imprime toutes les mises à jour. Donc, je vois un flux d'emplacements avec précision. P>
Je vois des fluctuations, je vois de meilleurs résultats, et ce n'est jamais meilleur que 12 mètres. P>
Maintenant au même endroit, je commence le statut GPS => et je vois comment la précision passe à 4 mètres! p>
Je pensais d'abord: ha, triche du statut GPS, dévie juste la précision p>
Mais cela ne semble pas être pas le cas, car quand j'ai commuté mon application et obtenez la dernière connu positante, c'est bien celui avec précision 4! P>
et commencer à dégrader au meilleur cas 12. P>
Résumé: Même HW, mêmes conditions, différentes applications => Différentes précision! P>
Donc ma question: y a-t-il des astuces? Des commandes supplémentaires? Des paramètres de puissance spéciaux? Toute relation à "Quelle application de votre application"? P>
liée à: GPS Android. Emplacement auditeur ne veut pas acquérir une solution :( P>
3 Réponses :
Que diriez-vous de cela?
-Sette Précision + Définir la puissance requise HIGH: P>
try{
locator = new GeoLocator(this);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.addGpsStatusListener(new GPSStatusManager(locationManager));
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria. POWER_HIGH);
bestProvider = locationManager.getBestProvider(criteria, true);
Bundle bundle = new Bundle();
//I copied the next two lines out of some tutorial hoping that they would help boost my gps, but I'm really not sure what they do
boolean xtraInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,
"force_xtra_injection",bundle);
boolean timeInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,
"force_time_injection",bundle);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0.0f, locator);
}catch(Exception e){}
Google a publié une API agréable sur leur récent événement Google Io 2013: P>
La meilleure précision que vous puissiez obtenir avec GNSSMeasure, mais est difficile à coder. Android 7+ J'ai Doodgee tirer Dual (très peu populaire Chine Smartphone) et les travaux. https://developer.android.com/reference/andrroid/location/gnssmesurage
https://developer.android.com/guide/topics/sensors/gnssssight/a > (liste de soutien officielle). p>
gnns (GPS / GLONASS / GALILEO / ...)
EmplacementManager, (0 ms, 0 m) - Ne travaillez pas, après quelques reprises (1-20S), vous obtiendrez cette même coordination (si vous resterez au même endroit) - la précision est de 3-10m. Avec EmplacementManager, vous n'obtenez pas les données GNNS «brutes» du modul physique, mais calculées par API Android. Avec GNSSMASSAIRE, vous pouvez l'avoir. p>
J'espère que cela vous aidera .. développeur.android. com / guide / sujets / emplacement / ...
non. il ne fait que filtrer.
Dupliqué possible de Améliorer la précision GPS Android