0

意味が分からないので、ちょっと気になりました。

接続したGoogleApiClient後、を使用して位置情報の更新をリクエストします

LocationServices.FusedLocationApi.requestLocationUpdates(
googleApiClient, mLocationRequest, this);

さて、奇妙なことonLocationChanged(Location location)に、電話を機内モードにしても呼び出されます。インターネットがありませんが、現在地の最新情報を入手できます..これはどのように可能ですか? それらの更新は信頼性が高く正確ですか?

4

2 に答える 2

0

通常の状況では、位置は 1 つまたは複数のセンサーに基づいて計算されます。データには次のものが含まれます。

  • 携帯電話ネットワーク。
  • 周囲の Wi-Fi ネットワーク。
  • 周辺の Bluetooth ビーコン。
  • GPS。

最初の 3 つの方法では、ラジオ信号をリッスンしてブロードキャストできるラジオが必要ですが、GPS は何もブロードキャストしないため、衛星からブロードキャストされた信号のみをリッスンします。機内モードを有効にすると、基本的にデバイスにあらゆる種類の信号のブロードキャストを停止するように指示します (航空機との干渉を避けるため)。ただし、GPS チップは何もブロードキャストしないため、リッスンし続けることが期待できます。衛星信号を送信し、デバイスの現在の位置を報告します。

以下を呼び出して、位置オブジェクトの精度をプログラムで検出できます。

location.getAccuracy();

これはメートル単位の位置の精度です。

編集:あなたにとって興味深いかもしれないいくつかの重要なポイントを追加さ​​せてください:

  • 他の無線からの支援がない場合、GPS の最初の修正は非常に遅くなります。最初の場所が表示されるまで数分かかる場合があります。
  • GPS は、信号を受信するために空がはっきり見える必要があります。そのため、屋内では機能しません。
  • GPS は、他の技術と比較して、位置を取得するための電力を消費する方法の 1 つです。
于 2016-10-19T15:18:11.117 に答える