Aller au contenu

Petit soucis sur le GPS


com.hero

Recommended Posts

Salut à tous!

J'ai une petite coquille dans un bout de code.

Je gère des points d'intérêt suivant la distance de l'utilisateur, si le point est à moins de 500m, j'affiche une alerteDialog.

Ce morceau de code est placé dans le onLocationChanged du LocationListener.

Afin de ne pas avoir d'alerte à répétition, j'ai un attribut isWarned qui passe à true lors de l'affichage, si on est à une distance de plus de 500m, isWarned passe à false de manière à se réaffiché par la suite.

point est un ArrayList, classé par distance par ordre croissant, je prend le plus proche avec point.get(0)

if(distance < 500){
    if(!point.get(0).isWarned()){
         context.getPop().popPoint(point.get(0));
         point.get(0).setWarned(true);
    }
}else{
    for(int l = 0; l < point.size(); l++){                            
         if(!point.get(l).isWarned())
         point.get(l).setWarned(false);
    }
}

Mon soucis est que malgré tout, au bout de quelques minutes, j'ai de nouveau une alerte sur ce point qui s'affiche, alors que je ne sors pas des 500m.

J'ai pensé que cela pouvait être du à une perte du signal, puis lors du nouveau fix du GPS, le temps d'affiner, que je sois détecté à plus de 500m.

Qu'en pensez-vous? Des idées?

Merci à tous et bonne journée :)

Lien vers le commentaire
Partager sur d’autres sites

J'ai forcé le layout en vertical et je ne l'ai pas penché, mais sait-on jamais, le GPS reset-il quand même?

Pour le isWarned, c'est un simple getter/setter

   public boolean isWarned() {
       return isWarned;
   }

   public void setWarned(boolean isWarned) {
       this.isWarned = isWarned;
   }

Lien vers le commentaire
Partager sur d’autres sites

- la veille

- tu utilise un mode mixte pour le gps et s'il perd le signal il switch sur le reseau mobile.

et une combinaison des deux : si je sors google maps de veille il me positionne à 3km avant de tres vite revenir où il faut.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...