2012-04-20 23 views
6

Tôi cần một cách phân loại sức mạnh của tín hiệu GPS. Cho đến nay tôi đã đi qua các tài sản horizontalAccuracy của CLLocation (Class Reference).Làm cách nào để đánh giá cường độ tín hiệu GPS? (iPhone)

Để cụ thể hơn, tôi cần tạo một thứ gì đó như sau; vấn đề tôi đang gặp phải là điền vào các tuyên bố 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 
} 

Bạn có thể giúp tôi làm việc này không?

Trả lời

9

Tôi đã sử dụng số liệu như thế này trong quá khứ:

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

nhưng phải trung thực, nó không thực sự làm việc rất tốt cho người sử dụng. Nó sẽ hiển thị độ chính xác thấp, nhưng khi họ nhìn vào ứng dụng bản đồ, nó sẽ đặt chúng gần như hoàn hảo (mặc dù với một vòng tròn xung quanh chúng). Thay vì cố gắng xác định mức độ chính xác và nếu ứng dụng của bạn dựa trên bản đồ, bạn có thể làm những gì Maps thực hiện và hiển thị độ chính xác ngang như lớp phủ hình tròn không? Không. Sau đó, người dùng có thể tự quyết định xem liệu nó có đủ chính xác hay không.

+2

vì tò mò, tại sao '163' và tại sao' 48'? – Baby

+0

Dùng thử và báo lỗi nếu tôi nhớ chính xác! –

Các vấn đề liên quan