Come trovare i risultati GPS iPhone più precisi
-
05-07-2019 - |
Domanda
Ricordo di aver letto da qualche parte (dimentico dove) che se un'applicazione iPhone eseguiva semplicemente CLLocationManager una volta, non si ottenevano i risultati più accurati.
È accurato e, in tal caso, come posso combattere questo problema? Voglio ottenere i risultati GPS più accurati e mi chiedo se solo una volta creerà i risultati migliori.
Grazie per l'aiuto!
Soluzione
CLLocationManager *locationManager.desiredAccuracy = kCLLocationAccuracyBest;
Restituirà il miglior risultato possibile per te. Il metodo delegato
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
continuerà a restituire la posizione dell'utente in base alle preferenze di precisione impostate.
Se hai bisogno della posizione una sola volta, devi ricordare di chiamare stopUpdatingLocation
su self
. Se è necessario aggiornare continuamente la posizione dell'utente, non chiamare stopUpdatingLocation
Sto usando CoreLocation per ottenere la posizione di un utente ed è abbastanza preciso per il mio uso.
Altri suggerimenti
Quello che hai letto era probabilmente da Guida alla programmazione delle applicazioni iPhone :
Per recuperare la corrente dell'utente posizione, creare un'istanza di Classe CLLocationManager e configurazione con la precisione desiderata e parametri di soglia. Iniziare ricevere notifiche sulla posizione, assegnare un delegato all'oggetto e chiama il metodo startUpdatingLocation per iniziare la determinazione del posizione corrente dell'utente. Quando nuovo sono disponibili i dati sulla posizione, il il gestore della posizione notifica la sua assegnazione oggetto delegato. Se un aggiornamento della posizione è già stato consegnato, puoi ottieni anche i dati sulla posizione più recenti direttamente dal CLLocationManager oggetto senza attendere un nuovo evento da consegnare.
[...]
Il controllo del timestamp di un evento è consigliato perché la posizione il servizio restituisce spesso l'ultimo memorizzato nella cache evento di localizzazione immediatamente. Può impiega alcuni secondi per ottenere una prova posizione corretta in modo che i vecchi dati semplicemente serve come un modo per riflettere l'ultimo posizione nota. Puoi anche usare il accuratezza come mezzo per determinare se vuoi accettare un evento. Man mano che riceve dati più precisi, il il servizio di localizzazione potrebbe essere aggiuntivo eventi, con i valori di precisione riflettendo i miglioramenti di conseguenza.