2012-04-20 14 views
6

Potrzebuję sposobu kategoryzacji siły sygnału GPS. Do tej pory natknąłem się na właściwość horizontalAccuracy z CLLocation (Class Reference).Jak mogę ocenić siłę sygnału GPS? (iPhone)

Aby być bardziej szczegółowym, muszę stworzyć coś takiego: problem, który mam, wypełnia oświadczenia 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 
} 

Czy ktoś może mi w tym pomóc?

Odpowiedz

9

Użyłem postaci jak to w przeszłości:

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

ale szczerze mówiąc, to naprawdę nie działa bardzo dobrze dla użytkowników. Wykazałoby to małą dokładność, ale kiedy spojrzeli na aplikację mapy, umiejscowiłoby ją niemal idealnie (aczkolwiek z okręgiem wokół nich).

Zamiast próbować określić poziom dokładności i czy Twoja aplikacja jest oparta na mapie, czy możesz zrobić to, co robi Mapy i pokazać dokładność poziomą jako nakładkę okrągłą? Następnie użytkownik może sam zdecydować, czy jest wystarczająco dokładny.

+2

z ciekawości, dlaczego '163' i dlaczego' 48'? – Baby

+0

Próba i błąd, jeśli dobrze pamiętam! –

Powiązane problemy