Bonsoir à tous,
Je suis actuellement en train de me faire une petit application de géolocalisation.
Voici mes contraintes :
- l'acquisition ne doit pas se faire en mouvement, il faut être immobile
- besoin d'une bonne précision
- rapidité de l'acquisition
Je réalise mes tests sur mon N1 sous 2.2.1 et d'autres mobiles tel qu'un Samsung Galaxy ainsi qu'un HTC Magic.
- Problème d'acquisition
Il m'arrive régulièrement lors de mes tests, de lancer l'acquisition mais de ne recevoir aucune position. Voici comment je lance mon acquisition GPS :
C'est par rapport aux contraites définies que je définis les intervalles de temps et de distances à 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 this.lManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); this.lManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
Est-ce pas trop petit comme valeurs ? ayant tester plusieurs valeurs je n'ai jamais réussi à avoir des résultats satisfaissant.- Problème de rapidité
Lorsque j'arrive à acquérir une position il me faut au minimum entre 30sec (c'est quand le cache qui répond je pense) et plusieurs minutes. C'est comme si le satellite ne me répond pas ou que mes requêtes ne partent pas. Pourtant j'ai bien le GPS qui travaille.
Existe-t-il des moyens optimiser ce temps d'acquisition et d'assurer la récupération de sa position à chaque coup ?
J'ai tenté les solutions suivantes :
- Acquisition NETWORK puis GPS :
Cette solution me permet d'avoir une réponse rapide mais complètement fausse à 500m près car le NETWORK me répond alors que le GPS je peux toujours attendre.- Acquisition NETWORK et GPS en même temps :
Résultat identique à la solution précédente
J'ai regardé la doc Android et j'ai trouvé ce schéma, mais cela m'aide pas des masses.
Comment fait Google pour avoir une position GPS précise et rapide lorsque l'on lance l'application Google Maps ?
Merci d'avance pour l'aide,
Mamatt.
Partager