2012-04-20 12 views
6

Ho bisogno di un modo per categorizzare la forza del segnale GPS. Finora mi sono imbattuto nella proprietà horizontalAccuracy di CLLocation (Class Reference).Come posso valutare l'intensità del segnale GPS? (iPhone)

Per essere più specifici ho bisogno di creare qualcosa come il seguente; il problema che sto avendo sta compilando le dichiarazioni if.

if (someLocation.horizontalAccuracy ...) 
{ 
    // No Signal 
} 
else if (someLocation.horizontalAccuracy ...) 
{ 
    // Poor Signal 
} 
else if (someLocation.horizontalAccuracy ...) 
{ 
    // Average Signal 
} 
else if (someLocation.horizontalAccuracy ...) 
{ 
    // Good Signal 
} 
else 
{ 
    // Excellent Signal 
} 

Per favore qualcuno può aiutarmi in questo?

risposta

9

Ho usato figure come questo in passato:

if (someLocation.horizontalAccuracy < 0) 
{ 
    // No Signal 
} 
else if (someLocation.horizontalAccuracy > 163) 
{ 
    // Poor Signal 
} 
else if (someLocation.horizontalAccuracy > 48) 
{ 
    // Average Signal 
} 
else 
{ 
    // Full Signal 
} 

ma ad essere onesti, non ha davvero funzionato molto bene per gli utenti. Mostrerebbe una bassa accuratezza, ma quando hanno guardato l'app delle mappe, le avrebbe posizionate quasi perfettamente (anche se con un cerchio attorno a loro).

Piuttosto che cercare di definire un livello di precisione e se la tua app è basata sulla mappa, potresti fare quello che fa Maps e mostrare la precisione orizzontale come una sovrapposizione circolare? Quindi l'utente può decidere da solo se è sufficientemente preciso.

+2

per curiosità, perché '163' e perché' 48'? – Baby

+0

Prova ed errore se non ricordo male! –

Problemi correlati