GPS o triangolazione quando si imposta la posizione dell'utente sulla mappa?

voti
1

Sono stato di programmazione di un'applicazione utilizzando il MapKit e l'SDK 3.0. Tutto funziona allright eccezione di un dettaglio. Ho notato che quando si visualizza l'userlocation ricevo diverse posizioni utente sulla mappa dipendente della rete attuale. Ho letto su questo problema e capire che è comune? Nel mio WLAN è la posizione utente visualizzato correttamente. Quando si utilizza la rete 3G (T-Mobile) la posizione è a circa 100 metri di distanza dalla mia posizione attuale. Capisco questo ha a che fare con la rete telefonica celluar utilizzando la triangolazione e WLAN è l'hotspot GPS o WiFi utilizzato. Così, alla mia domanda. C'è un modo per andare in giro questo? La mia app mostra posizioni in una città e anche la distanza per quelle posizioni. E 'molto evidente e anche missleading se la posizione è falsa causa delle brevi distanze. C'è un modo (in codice) per impostare il metodo da utilizzare per ottenere l'postion utente? Ho provato tutte le altre applicazioni sul mio iPhone utilizzando le mappe e il problema sembra essere la stessa per tutti. (Se qualcuno vuole mettere alla prova la mia app è in App Store gratuitamente sotto car2go anche altri commenti sono ovviamente interessanti) Grazie in anticipo! -ciclo continuo-

È pubblicato 25/08/2009 alle 13:14
fonte dall'utente
In altre lingue...                            


3 risposte

voti
1

Core Location fornisce informazioni circa l'accuratezza verticale e orizzontale del luogo che si sta segnalando. Si dovrebbe utilizzare che la precisione di segnalare all'utente se la posizione è sospetto. mappe di Google fa questo aumentando la dimensione del cerchio blu intorno l'indicatore di posizione. Ci sono altri modi per indicare all'utente che la posizione è sospetto, scatole di avviso, non mostra la località se cade al di fuori di una certa precisione predeterminato, etc.

Vedi: http://developer.apple.com/iphone/library/documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/occ/instp/CLLocation/horizontalAccuracy

Risposto il 25/08/2009 a 14:07
fonte dall'utente

voti
0

Forse è possibile utilizzare direttamente CoreLocation. CLLocationManagerti da CLLocationoggetti che includono la loro accuratezza. Se si ottiene una precisione inferiore a 50 metri, la posizione probabilmente proveniva dal GPS.

Risposto il 25/08/2009 a 13:59
fonte dall'utente

voti
0

Utilizzare una fonte alternativa per la vostra posizione? unità GPS portatile farebbe il trucco.

La vera domanda è come si può correggere i dati che vengono specificati dal triangolazione 3G. Mi chiedo se si può fare un differenziale per correggere gli errori di localizzazione del 3G.

1) In una data città, calibrare gli errori di localizzazione 3G tracciando la città. Questo potrebbe essere corretto con le reti 3G in qualsiasi momento, in modo da dovreste avere un modo per verificare e ri-calibrare.

2) Calibrare posizione della rete 3G utilizzando una posizione nota - una posizione 3G insieme a una posizione GPS. Prendi questo come un differenziale che può essere applicato ad altre posizioni 3G. Questo presuppone un offset nel calcolo di triangolazione che probabilmente non è la realtà coerente.

3) Attendere che le reti 3G per risolvere il problema e non fare nulla nel frattempo.

4) Fornire il provider di rete 3G con le informazioni di errore nella loro triangolazione e vedere se si tratta di una priorità per loro.

Non riesco a pensare a tutte le altre opzioni valide ...

Risposto il 25/08/2009 a 13:24
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more