Domanda

Dopo alcune ricerche su Google, mi chiedo:

È possibile costruire una bussola (mostrando semplicemente la direzione / direzione) con il sensore GPS dell'iPhone 3G?

Ho il sospetto che ciò sia possibile solo se il dispositivo si sta muovendo.

Tutte le idee sono apprezzate.

È stato utile?

Soluzione

Sì, hai ragione, è l'unico modo. Anche se penso che una volta che conosci la direzione, puoi tracciare piccoli movimenti del telefono dai sensori di accelerazione e tracciare la direzione con precisione anche se il movimento originale si interrompe.

Nota: si tratta di informazioni obsolete, corrette fino all'uscita di 3G. Sfortunatamente non posso cancellare la risposta accettata, quindi basta guardare sotto.

Altri suggerimenti

Analizzando le applicazioni disponibili sono giunto alla conclusione che ci sono due modi per creare una bussola per l'attuale iPhone 3G.

  1. Richiedi lo spostamento del telefono. Usa la differenza nei dati GPS per determinare la direzione.
  2. Richiede all'utente di puntare il telefono verso il sole. Utilizzare le informazioni GPS e temporali per determinare le indicazioni.

Devi solo implementare la funzionalità di gestione della posizione per trovare la direzione esatta verso cui punta il tuo iPhone.

Quindi, puoi controllare questo:

CLLocationManager * locationManager; [locationManager startUpdatingHeading];

E ogni volta che chiami startUpdatingHeading () chiamerà " - (nulla) locationManager: (CLLocationManager *) manager didUpdateHeading: (CLHeading *) newHeading " metodo che è necessario sovrascrivere dal gestore della posizione.

Ed è qui che puoi trovare la direzione verso cui punta iPhone 3GS newHeading.magneticHeading o newHeading.trueHeading.

Sorprenderai di poter ottenere esattamente la stessa direzione che ti dà la bussola magnetica.

La bussola mostrerà solo la direzione in cui ti stai muovendo. Non ti dirà la direzione in cui è posizionato l'iPhone. Quindi anche l'uso dell'accelerometro per tracciare che l'iPhone ha girato / spostato non ti consentirà necessariamente di puntare a nord sul display.

(Cioè non saprai se si sta muovendo lateralmente o se stiamo tenendo l'iPhone capovolto o altro. Saprai semplicemente dove ti stai muovendo ...)

EDIT dicembre 2010: Da quando è stato scritto questo post originale, l'iPhone 3GS (lanciato nell'estate '09) e i modelli più recenti hanno una bussola elettronica. Questa bussola può mostrare la direzione corretta quando senza muoversi ... (Ciò significa che la bussola ora è in grado di puntare a nord indipendentemente dalla direzione in cui l'iPhone è tenuto o si sta muovendo.)

Penso che tu abbia ragione con il tuo sospetto, una posizione GPS è un singolo punto senza alcuna informazione di direzione. Per determinare una direzione sono necessari due punti per creare un vettore di direzione. I sistemi di navigazione per auto funzionano allo stesso modo. Possono mostrare un vettore di direzione solo se l'auto si sta muovendo.

Se si implementa un orologio analogico, è possibile utilizzare le istruzioni seguenti per sovrapporre un quadrante della bussola.

Questo potrebbe essere usato per 'calibrare' la bussola e usare l'accelerometro per puntare verso nord quando il telefono si sposta.

Ovviamente questo non è super preciso ... "soluzione a bassa tecnologia a un problema di alta tecnologia"

(istruzioni tratte da http://www.qwerty.co.za )

Nell'emisfero nord posiziona l'orologio su un terreno pianeggiante, punta la lancetta delle ore in direzione del sole. La linea Nord-Sud è di nuovo la linea che divide l'angolo tra la lancetta delle ore e la linea delle 12 a metà.

Nell'emisfero australe , posiziona l'orologio su un terreno pianeggiante, punta la figura 12 verso il sole. La linea nord-sud è la linea che divide l'angolo tra la lancetta delle ore e la linea delle 12 in punto.

Come nota a margine, gli accelerometri nell'iPhone non tengono traccia delle rotazioni solo delle traduzioni, quindi non è possibile eseguire il rilevamento inerziale a 6 assi della posizione e della direzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top