6
votes

Directeur Android (GPS)

Utiliser emplacement.getbearing (); Je semble être en train de changer de roulement au hasard.

AKA, je peux éteindre lentement l'appareil et ne le remarquera pas, il choisit simplement ses propres roulements aléatoires.

Je sais que le périphérique fonctionne, comme l'icône "Vous êtes ici" dans l'application Maps sur la tablette tourne lentement lorsque je fais pivoter le périphérique.

Y a-t-il un moyen de perfectionnel différent? J'utilise le GPS. Peut-être qu'il y a un meilleur moyen de déterminer quelle direction vous faites face.


2 commentaires

Avez-vous eu quelque chose vous-même? Je suis confronté au même comportement et à la recherche d'une sorte de guidage.


@kaushaltrivedi veuillez voir ma réponse :) Dug it up juste pour vous. Basé sur la réponse des heroms, mais avec le problème d'orientation, il posait .. Fixé.


3 Réponses :


3
votes

Le emplacement.getbearing () renvoie le roulement que les satellites GPS sont calculés pour vous. Ce n'est pas une représentation en temps réel de l'en-tête de votre appareil. L'application Google Maps utilise les capteurs G intégrés de l'appareil pour obtenir la direction que vous rencontrez.


3 commentaires

Pour clarifier un peu plus loin, le roulement GPS est calculé en obtenant le vecteur entre deux points le long du chemin du voyage, plutôt que d'utiliser un accélomètre pour détecter le mouvement de l'appareil.


@Jon Alors disons, je déplace un mètre en arrière, il suppose que ive déplacé dans la direction donnée mais faisant face à l'autre sens (en avant)? Je me suis demandé pourquoi j'ai besoin de contacter le satellite pour obtenir ma direction, car il n'y a aucun moyen de savoir que je ne fais pas face à l'appareil.


@Doomsknight Oui c'est correct, cela vous montrera la direction du voyage. Il calcule le vecteur directionnel entre le point que vous êtes maintenant et le point que vous venez de venir. Donc, comme vous l'avez dit si vous marchez en arrière, cela vous montrera comme une marche dans la direction du mouvement, pas la direction que vous êtes confrontée (comptoir à la direction du voyage).



3
votes

Essayez de prendre du capteur d'accéléromètre et du capteur de champ magnétique (g-).

Voici un tutoriel: http: // android-coding.blogspot.co.at/2012/03/create-our-android-compad.html


1 commentaires

En fait, cela ne prend pas en compte, l'orientation de l'écran. : / Mal essayer de faire mon propre travail.



0
votes

Suivant de la réponse de Herom en utilisant le lien: http://androïd-coding.blogspot.co.at/2012/03/create-our-android-compadpass.html

J'ai étendu ma classe à implémenter le capteur: prolonge l'activité des outils sensorevenerListener

et mis en œuvre comme suggéré, mais modifié il doit prendre en compte, l'orientation de l'écran.

Voici le code que je suis allé: < Pré> xxx