2010-08-08 4 views
5

Je veux un facteur de vitesse dans mon application GPS dans Android. Je souhaite utiliser à la fois le fournisseur de réseau et le fournisseur GPS pour obtenir des mises à jour de localisation. Mais le fournisseur de réseau donne à peine la vitesse. Alors que le fournisseur GPS fournit plusieurs fois un correctif.Comment forcer le fournisseur de GPS pour obtenir la vitesse dans Android?

  1. Mais est-ce de sorte qu'une fois une solution est trouvée sans vitesse, dispositif ne demandera pas de nouvelle mise à jour jusqu'à ce que l'intervalle ou la distance définie dans les changements de requestLocationUpdates? Si oui, comment puis-je l'appliquer pour continuer jusqu'à ce que je sois rapide. J'ai trouvé la classe Criteria, mais nous ne pouvons l'utiliser qu'en choisissant un fournisseur. Je veux l'utiliser tout en obtenant une solution. Puis-je ?

  2. Une autre chose que j'ai remarquée est parfois que je deviens la vitesse à 127 m/s au début, même si je suis stable puis normalise à la vitesse réelle. Est-ce un problème d'appareil (testé en G1), ou est-ce généralement en fonction du satallite ou de l'emplacement?

  3. Est-ce que l'utilisation de critères lors du choix du fournisseur ne me fournira pas de points de localisation qui ne correspondent pas? Comme si je définissais criteriaObj.setSpeedRequired (true), alors je n'obtiendrais pas de points s'il n'y en avait pas. Comme j'ai besoin de mise à jour de position dans tous les cas.

Une suggestion?

Répondre

5

répondre à ma question ancienne ..

  1. Pour demander des mises à jour continues, vous devez ens distance et le temps de mise à jour min à zéro. Cela drainera cependant la batterie de l'appareil plus rapidement, mais vous êtes sûr de tirer le meilleur parti du matériel GPS et de filtrer vos conditions.

  2. Cette 127 m/s^2 est en effet un bug dans Android. Après avoir revu le code de l'application GPS mytracks de Google, j'ai trouvé qu'il était noté et filtré ce cas particulier de 127 dans leur code lui-même!

  3. Oui, vous n'obtiendrez pas de points qui n'ont pas de vitesse.

+0

Belle observation mais comment avez-vous révisé l'application My Tracks? –

0

Je pense que vos questions sur les services basés sur la localisation Android reçoivent une réponse dans un recent Google I/O session à partir de la diapositive 73 de 84 dans le diaporama pdf. En particulier, la session décrit comment implémenter un pattern de back-off qui commence avec un grand nombre d'écouteurs de localisation et supprime les listeners à mesure que la précision s'améliore (à quel point vos calculs de vitesse seraient crédibles).

+0

Merci pour votre réponse. J'ai parcouru les diapositives pour les services basés sur la localisation, ils mentionnent les modèles de back-off. Mais cela ne répond pas si l'introduction de plus d'auditeurs pour un fournisseur particulier (comme le GPS) me donnera des données plus précises. Est-ce vrai? Je veux dire si j'ai plus d'auditeurs pour supposer fournisseur de GPS, je vais avoir des mises à jour différentes dans chacun d'eux. Je crois qu'un auditeur peut collecter toutes les mises à jour. Lequel est vrai? – Pritam

+0

Si votre objectif est d'obtenir les données de localisation les plus précises disponibles, un auditeur ne le fera pas. Les diapositives sont correctes mais ne sont qu'un aperçu et pas aussi informatif que la vidéo. Avez-vous regardé la discussion des critères dans la vidéo? – gregS

+0

Non, je n'ai pas regardé de vidéo. Mais comme vous le dites, je vais le regarder et essayer et commenterai sur mes résultats :) – Pritam

Questions connexes