ユーザーの標高が提供されるロケーションサービスアプリがあります。ただし、CLLocationManagerによって提供される標高精度は非常に不正確であることがわかりました。同じ2つのスポットを2回テストすると、標高差が40フィートになることもあれば、100フィートになることもあります。CLLocationの垂直精度を向上させる方法はありますか、またはユーザーの標高を取得する別の方法(サードパーティライブラリ)はありますか?CLLocationManagerによって提供されるnewLocationのverticalAccuracyプロパティを確認し、それが十分でない場合は破棄しようとしましたが、「正確」であっても、実際には正確でないことがよくあります。御時間ありがとうございます!
現在、私は以下を使用しています:
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]];
}
そのコードの問題:多くの場合、verticalAccuracyが30を下回ることはなく、30を下回ると、それでも十分に正確に近くなりません。私は家の中を歩き回るコードをテストしましたが(1階建て)、標高が最大19フィート変化すると書かれていますが、これは間違いです。