なぜ最後に知った場所を記憶するのにAndroidにこのような問題があるのですか


12

Androidが最後に認識した場所を記憶する方法を理解することはできませんでした。数時間前からの場所を覚えているようだが、数秒前からではない場合。私が言っていることの例を挙げるのが最善だと思います。

私は最近ベイエリアにいました。AndroidでGoogleマップを使用していて、たまたまマウンテンビューのGoogleキャンパス周辺にいました。GPSを有効にしてマップを使用していましたが、しばらくして適切なGPSロックを取得し、それを使用してエリア内を移動しました。

後でサンフランシスコに戻ったとき、私はそれを使って街を歩き回っていました。マップをオンにするたびに、現在地がマウンテンビューに戻ります。GPSロックを取得してから約10秒後に、実際の位置を取得しました。数秒後に電話をオフにして再びオンにした場合、同じことが起こりました。数時間前のどこかにいると考えて、実際の場所を確認します。これは常に起こります。数時間前の場所ではなく、数時間前の場所を思い出します。一定の時間、エリアを一周すると、これが新しい「最後に知っている場所」になります。

正確なGPSロックを取得した後、Androidがこれを以前のものではなく「最後の既知の場所」として登録しないのはなぜですか?

回答:


3

完全な答えではなく、いくつかの背景情報:

  • デバイスには複数のロケーションプロバイダーを含めることができます。たとえば、GPSに基づくプロバイダーと、どの携帯電話タワーを見ることができるかに基づいたプロバイダーがあります。
  • Androidには、最後の1つの既知の位置はありません。各ロケーションプロバイダーには、独自の最後の既知の位置があります。
  • ロケーションには、精度、記録された日時、記録された内容(高度コンポーネントなど)のような追加のメトリックがあります

したがって、アプリが使用するロケーションプロバイダーに依存し、動的パラメーターに基づいて、または動的パラメーターに基づいて変更することもできます。たとえば、起動時にAndroidに最速のロケーションプロバイダーを要求して、最も正確なプロバイダーに切り替えて、徐々により良い修正を取得できます。


これは本当に良い、簡潔な説明です。ありがとうございました。
ニックディクソン

これは、私が街に戻ったとき、wifi /モバイルデータを持っていなかったので、理にかなっています。Googleキャンパスにはwifiがありました。そのため、マップは最初に「粗い」(つまり、wifi)lastknownlocation(Googleにありました)を使用していたはずでした。GPS lasknownlocationの方が新鮮な/良い読書だとまだ思っていたでしょう。
ティム

この答えはコメントのようなものです。また、大まかな場所の優先度が低い場合は、後で電話がmntビューを返した理由がさらに説明されません。
gcb

2

Androidは粗いタイプと細かいタイプのロケーション更新を使用し、これらの更新も異なる品質メトリックを持つ可能性があることを理解しています。Googleマップアプリケーションには、新しい場所でGPSやWifi信号が十分に長くないため、最新の場所として十分な品質が得られていない可能性があります。

http://developer.android.com/guide/topics/location/obtaining-user-location.htmlの開発者向けドキュメントには、ユーザーの場所を取得するためのモデルの例が記載されており、動作の仕組みについての洞察が得られる場合があります。しかし、Google Maps、そしておそらく他の地図も独自のことをしていると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.