com.hero Posté(e) 25 juin 2010 Share Posté(e) 25 juin 2010 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 More sharing options...
Chronogps Posté(e) 25 juin 2010 Share Posté(e) 25 juin 2010 J'aurais tendance a dire la même chose. Il faudrait voir le code dans isWarned() Attention au changement d'orientation de l'écran qui fait un reset d'application (et donc du GPS) si tu ne l'as pas inhibé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
com.hero Posté(e) 25 juin 2010 Auteur Share Posté(e) 25 juin 2010 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 More sharing options...
popolbx Posté(e) 25 juin 2010 Share Posté(e) 25 juin 2010 - 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 More sharing options...
com.hero Posté(e) 25 juin 2010 Auteur Share Posté(e) 25 juin 2010 As-tu donc une idée pour être sur de n'avoir qu'une seule notification tant qu'on est dans les 500m? Car étant dans le onLocationChanged, la notification se fait potentiellement toutes les secondes à peu près Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.