Tôi có ứng dụng dịch vụ vị trí, trong đó độ cao của người dùng được cung cấp. Tuy nhiên, tôi đã thấy rằng độ chính xác độ cao do CLLocationManager cung cấp là cực kỳ không chính xác. Khi tôi kiểm tra hai điểm giống nhau hai lần, đôi khi sự khác biệt độ cao là bốn mươi feet và đôi khi nó là một trăm. Có cách nào để tôi có thể cải thiện độ chính xác theo chiều dọc của CLLocation hay không, có cách nào khác để có được độ cao của người dùng (thư viện của bên thứ ba) không? Tôi đã thử kiểm tra thuộc tính verticalAccuracy của newLocation được cung cấp bởi CLLocationManager và ném nó ra nếu nó không đủ, nhưng ngay cả khi nó đủ chính xác, nó vẫn thường không thực sự chính xác. Cảm ơn vì đã dành thời gian cho tôi!Độ chính xác độ cao CLLocation
Ngay bây giờ tôi đang sử dụng:
if([newLocation verticalAccuracy] < 30) {
if(isCustomary)
altitudeLabel.text = [NSString stringWithFormat:@"%.2f feet", ([newLocation altitude] * 3.2808399)];
else
altitudeLabel.text = [NSString stringWithFormat:@"%.2f meters", [newLocation altitude]];
}
Vấn đề với mã: thường là verticalAccuracy không bao giờ dưới 30, và khi nó, có nghĩa là vẫn còn thậm chí không gần đủ chính xác; Tôi đã kiểm tra mã đi bộ xung quanh nhà của tôi (một câu chuyện), và nó nói rằng độ cao thay đổi lên đến mười chín feet, mà tôi chắc chắn là không đúng sự thật.
Vâng, điều này có vẻ là sự thật không may. 1 cho lời giải thích tốt và liên kết tốt. –