2009-07-28 41 views
5

Tôi muốn sử dụng các vị trí đáng tin cậy, ngay cả trên iphone cũ. Tuy nhiên, nhiều bài đọc (đặc biệt là từ các tháp di động) quá không chính xác. Tôi nghĩ.Độ chính xác của CLLocation chính xác đến mức nào?

Khi tôi vẽ vị trí của mình + bán kính chính xác (hoặc xem ứng dụng bản đồ google), tôi nhận thấy tâm của vòng kết nối ước tính thường gần với vị trí thực của tôi. Tôi đoán rằng nếu tôi cắt số "chính xác" xuống một nửa, tôi vẫn sẽ ở trong vòng tròn 99% thời gian.

Tôi tin rằng đây là một trò chơi xác suất - người quản lý vị trí đang cố gắng cung cấp ước tính chính xác là 99,99999% thời gian, do đó, họ đưa ra mức chênh lệch cố ý rộng. Bất kỳ suy nghĩ/thông tin?

Trả lời

0

Khi bạn đang sử dụng CoreLocation, bạn sẽ nhận được "câu trả lời" tốt hơn và tốt hơn. Tôi đã nhận thấy rằng câu trả lời "tốt nhất" hầu như luôn chính xác trong vòng 100m, vì vậy về lý thuyết bạn có thể cắt giảm "bộ đệm" mà bạn thường đưa ra. Cách duy nhất để thực sự biết, mặc dù, và đây là những gì tôi sẽ làm, là để kiểm tra thử nghiệm kiểm tra. Tìm iphones và ipod từ tất cả các thế hệ và xem loại độ chính xác bạn đang nhận được và loại kết quả bạn đang nhận được. Trong rất nhiều cách, nó phụ thuộc vào loại ứng dụng bạn đang tạo, nhưng nếu bạn muốn cung cấp thông tin nhạy cảm hoặc quan trọng dựa trên vị trí của người dùng, bạn thực sự chờ khung để cung cấp cho bạn vị trí gần đúng.

+0

Tôi sẵn sàng chờ vị trí tốt nhất có thể. Mối quan tâm của tôi là "chính xác hơn vị trí được báo cáo này chính xác đến mức nào?". Niềm tin của tôi là tất cả các độ chính xác được báo cáo (1000m, 10m, vv) là thiên vị cao. – BankStrong

+0

Và bạn đúng về nó, vì lý do rõ ràng. – TahoeWolverine

2

Khung CoreLocation cung cấp cho bạn bán kính của vòng tròn cho mọi CLLocation bạn nhận được bằng cách sử dụng thuộc tính horizontalAccuracy/verticalAccuracy. Bạn có thể chỉ cho CLLocationManager một tài sản desiredAccuracy sử dụng các loại sau:

kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers;

Vì vậy, bạn nhận được thông báo khi bạn nhận được bên trong phạm vi mong muốn của bạn. Điều đó nói rằng, khi bạn sử dụng các CLLocationManager sự kiện đầu tiên được trao cho bạn càng sớm càng tốt, và sau đó các sự kiện tiến hành là những người đáp ứng các điều kiện của bạn.

+0

Tôi ít tập trung vào việc yêu cầu độ chính xác mong muốn và quan tâm hơn đến việc biết độ chính xác "đúng". Khi CoreLocation cho bạn biết "vị trí này là tốt trong bán kính 100 mét", nó thực sự có nghĩa là "vị trí này sẽ nằm trong vòng 50 mét 99,9% thời gian"? – BankStrong

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