Frage

Nach einiger Suche auf Google, frage ich mich:

Ist es möglich, einen Kompass (einfache Darstellung der Position / Richtung) zu bauen mit Das iPhone 3G GPS-Sensor?

Ich habe den Verdacht, dass dies nur möglich ist, wenn das Gerät bewegt wird.

Alle Ideen sind willkommen.

War es hilfreich?

Lösung

Ja, Sie haben recht, das ist der einzige Weg. Obwohl ich glaube, wenn Sie die Richtung kennen, könnte man kleine Bewegungen des Telefons von Beschleunigungssensoren verfolgen und die Richtung zieht genau, auch wenn die ursprüngliche Bewegung stoppt.

Hinweis: Dies ist veraltet Info, es war richtig, bis 3Gs herauskam. Leider kann ich nicht akzeptierte Antwort löschen so einfach unten aussehen.

Andere Tipps

Durch die verfügbaren Anwendungen Scannen ich zu dem Schluss gekommen, dass es zwei Möglichkeiten, einen Kompass für die aktuelle iPhone 3G zu machen.

  1. erforderlich, das Telefon zu bewegen. Verwenden Sie den Unterschied in der GPS-Daten, die Richtung zu bestimmen.
  2. muss der Benutzer das Telefon an der Sonne zeigen. Verwenden Sie GPS und Zeitinformationen Richtungen zu ermitteln.

Sie müssen nur Standort-Manager-Funktionalität implementieren, um die genaue Richtung zu finden, in dem Ihr iPhone zeigt.

So können Sie überprüfen diese:

CLLocationManager * Locationmanager; [Location startUpdatingHeading];

Und wenn Sie startUpdatingHeading () aufrufen, wird es nennen "- (void) Locationmanager: (CLLocationManager *) Manager didUpdateHeading: (CLHeading *) newHeading" Methode, die Sie benötigen, von Location-Manager außer Kraft zu setzen.

Und das ist es können Sie die Richtung finden, in dem iPhone 3GS von newHeading.magneticHeading oder newHeading.trueHeading zeigt.

Sie überrascht, dass Sie genau die gleiche Richtung zu bekommen, was magnetischer Kompass gibt Ihnen.

Der Kompass wird nur die Richtung Sie sich bewegen. Es wird nicht die Richtung sagen, das iPhone in positioniert ist. So auch das Beschleunigungsmesser zu verfolgen, dass das iPhone hat sie / bewegt wird nicht unbedingt lassen Sie weisen nach Norden auf dem Display.

(Ie. Sie werden nicht wissen, ob seine seitwärts bewegen oder wenn wir, die die iPhone upside-down oder nichts. Sie müssen nur wissen, wo Sie sich bewegen ...)

EDIT Dezember 2010: Da diese Original-Beitrag geschrieben wurde, haben das iPhone 3GS (gestartet Sommer '09) und neuere Modelle einen elektronischen Kompass. Dieser Kompass kann die richtige Richtung zeigen, wenn sie ohne sich zu bewegen ... (Das bedeutet, dass der Kompass nun in der Lage ist, unabhängig von der Richtung nach Norden zeigen das iPhone gehalten wird oder sich bewegt.)

Ich denke, Ihr Recht mit Ihrem Verdacht, eine GPS-Position ein Punkt ohne Richtungsinformation ist. Um eine Richtung zu bestimmen, müssen Sie zwei Punkte, um einen Richtungsvektor zu erstellen. Auto-Navigationssysteme funktionieren auf die gleiche Art und Weise. Sie können nur einen Richtungsvektor zeigen, wenn das Auto in Bewegung ist.

Wenn Sie eine analoge Uhr implementieren, können Sie die Anweisungen unten verwenden, um eine Kompasses zu überlagern.

Dies könnte zu ‚eichen‘ verwendet werden, den Kompass und verwenden Sie den Beschleunigungsmesser bleiben Hinweis auf Norden, wenn das Telefon bewegt.

Natürlich ist dies nicht super präzise ... "Low-Tech-Lösung für ein High-Tech-Problem"

(Anweisung genommen von http://www.qwerty.co.za )

In der nördlichen Hemisphäre legen Sie die Uhr auf einem ebenen Stück Boden, in der Richtung der Sonne den Stundenzeiger zeigen. Die Nord-Süd-Linie ist wieder die Linie den Winkel zwischen der Stundenzeiger Teilung und die 12-Uhr-Linie in zwei Hälften.

In der südlichen Hemisphäre , legen Sie die Uhr auf einem ebenen Stück Boden, zeigt die Figur 12 in Richtung der Sonne. Die Nord-Süd-Linie ist die Linie, die den Winkel zwischen den Stundenzeigern und der 12-Uhr-Linie in zwei Hälften geteilt wird.

Als Randbemerkung, das Beschleunigungsmesser in der iphone verfolgt nicht nur Drehungen Übersetzungen, so dass Sie nicht die richtige 6-Achsen-Inertialverfolgung von Position und Richtung tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top