だから私はiPhoneGPSの精度の問題に取り組んでいます。位置情報を利用したアプリがあります。
デリゲートメソッドlocationManager: didUpdateToLocation: fromLocation:
では、場所が返されます。少し調べてみると、desiredAccuracy
プロパティをに設定した場合でも、GPSが最初に返す結果が常に正確であるとは限らないようkCLLocationAccuracyBest
です。
これを回避するために、少なくとも3回stopUpdatingLocation
返される前に電話をかけません(これは非常に高速です)。また、を返すnewLocation:
かどうかについて、他の2つの「要件」を試してみました。私が試した1つの方法は、緯度と経度をチェックして比較し、これらが同一でない場合は、場所の更新を実行し続けることでした。また、との間の距離を確認してみましたが、20メートル未満であれば問題ありません。これらは両方とも、少なくとも3回の実行を返すことでテストされます。後者の方法は、ユーザーが移動中の車両に乗っている場合に100%同一であるため、「厳密」ではありません。stopUpdatingLocation
newLocation
newLocation
oldLocation
oldLocation
newLocation
newLocation
oldLocation
さて、私の問題は、上記を行った場合でも(基本的に場所を受け入れず、いくつかの更新が行われ、(またはそれらが同一であるかどうか)CLLocationManager
間の距離をチェックするまで、CLLocations
場所について多少奇妙な結果が表示されることがありますが、テストするとき。
アプリを終了し、Maps.appにアクセスし、GPSを使用してマルチタスクを開き、アプリを強制終了してから再度開いてクリーンな起動を行うと、修正されることがあります。
同じ種類の問題を回避するために人々が使用した経験と可能な解決策はありますか?コメントと解決策を高く評価します:)