2012-04-20 7 views
6

Ich brauche eine Möglichkeit, die Stärke des GPS-Signals zu kategorisieren. Bisher bin ich auf die horizontalAccuracy Eigenschaft von CLLocation (Class Reference) gestoßen.Wie kann ich die GPS-Signalstärke auswerten? (iPhone)

Um genauer zu sein, muss ich etwas wie das Folgende erstellen; Das Problem, das ich habe, füllt die if Aussagen.

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 
} 

Bitte kann mir jemand dabei helfen?

Antwort

9

Ich habe Figuren wie dies in der Vergangenheit verwendet:

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

aber um ehrlich zu sein, ist es nicht wirklich für die Nutzer sehr gut funktionieren. Es würde eine geringe Genauigkeit zeigen, aber wenn sie sich die Karten-App anschauten, hätte sie sie fast perfekt lokalisiert (wenn auch mit einem Kreis um sie herum).

Anstatt zu versuchen, ein Maß an Genauigkeit zu definieren, und wenn Ihre App kartenbasiert ist, könnten Sie das tun, was Maps macht, und die horizontale Genauigkeit als kreisförmiges Overlay anzeigen? Dann kann der Benutzer selbst entscheiden, ob er genau genug ist.

+2

Aus Neugier, warum '163' und warum' 48'? – Baby

+0

Versuch und Irrtum, wenn ich mich richtig erinnere! –

Verwandte Themen