Question

Après quelques recherches sur Google, je me pose la question suivante:

Est-il possible de construire une boussole (montrant simplement le cap / la direction) avec le capteur GPS de l'iPhone 3G?

J'ai le soupçon que cela n'est possible que si le périphérique est en mouvement.

Toutes les idées sont appréciées.

Était-ce utile?

La solution

Oui, vous avez raison, c'est le seul moyen. Même si je pense qu'une fois que vous connaissez la direction, vous pouvez suivre les petits mouvements du téléphone à partir des capteurs d’accélération et dessiner la direction avec précision même si le mouvement initial s’arrête.

Remarque: il s'agit d'informations obsolètes. Elles étaient correctes jusqu'à la sortie de la 3G. Malheureusement, je ne peux pas supprimer la réponse acceptée, veuillez donc regarder ci-dessous.

Autres conseils

En parcourant les applications disponibles, je suis parvenu à la conclusion qu'il existe deux façons de créer une boussole pour l'iPhone 3G actuel.

  1. Demander au téléphone de bouger. Utilisez la différence dans les données GPS pour déterminer la direction.
  2. Demander à l'utilisateur de diriger le téléphone vers le soleil. Utilisez le GPS et les informations de temps pour déterminer les directions.

Il vous suffit d'implémenter la fonctionnalité de gestionnaire d'emplacement pour trouver la direction exacte vers laquelle votre iPhone se dirige.

Donc, vous pouvez vérifier ceci:

CLLocationManager * locationManager; [locationManager startUpdatingHeading];

Et chaque fois que vous appelez startUpdatingHeading (), il appelle " - (void) locationManager: (CLLocationManager *) manager didUpdateHeading: (CLHeading *) newHeading " méthode que vous devez remplacer par le gestionnaire d’emplacement.

Et voilà, vous pouvez trouver la direction dans laquelle iPhone 3GS pointe par newHeading.magneticHeading ou newHeading.trueHeading.

Vous serez surpris de constater que vous pouvez obtenir exactement la même direction que le compas magnétique.

La boussole indiquera uniquement la direction dans laquelle vous vous déplacez. Cela ne vous indiquera pas la direction dans laquelle l'iPhone est positionné. Ainsi, même utiliser l'accéléromètre pour suivre le déplacement / déplacement de l'iPhone ne vous laissera pas nécessairement pointer vers le nord de l'écran.

(c’est-à-dire que vous ne saurez pas s’il se déplace latéralement ou si nous tenons l’iPhone à l’envers ou autre. Vous saurez simplement où vous vous déplacez ...)

EDITER décembre 2010: Depuis que cet article original a été écrit, l'iPhone 3GS (lancé l'été 2009) et les modèles plus récents disposent d'un compas électronique. Cette boussole peut indiquer la bonne direction lorsque vous ne vous déplacez pas ... (Cela signifie que la boussole peut maintenant pointer vers le nord, quelle que soit la direction dans laquelle l'iPhone est maintenu ou se déplace.)

Je pense que vous avez raison, une position GPS est un point unique sans aucune information de direction. Pour déterminer une direction, vous avez besoin de deux points pour créer un vecteur de direction. Les systèmes de navigation automobile fonctionnent de la même manière. Ils ne peuvent afficher un vecteur de direction que si la voiture est en mouvement.

Si vous implémentez une horloge analogique, vous pouvez utiliser les instructions ci-dessous pour superposer un cadran de boussole.

Ceci pourrait être utilisé pour "calibrer" la boussole et utiliser l'accéléromètre pour rester dirigé vers le nord lorsque le téléphone est en mouvement.

Évidemment, ce n’est pas très précis ... "solution de basse technologie à un problème de haute technologie"

(instruction tirée de http://www.qwerty.co.za )

Dans l'hémisphère nord , placez la montre sur un terrain plat et pointez l'aiguille des heures dans la direction du soleil. La ligne nord-sud est à nouveau la ligne divisant en deux l'angle entre l'aiguille des heures et la ligne des 12 heures.

Dans l'hémisphère Sud , placez la montre sur un terrain plat et plat. pointez la figure 12 vers le soleil. La ligne nord-sud est la ligne divisant en deux l'angle entre l'aiguille des heures et la ligne des 12 heures.

Notons que les accéléromètres de l’iPhone ne suivent pas uniquement les conversions de rotations. Vous ne pouvez donc pas effectuer un suivi par inertie 6 axes approprié de la position et de la direction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top