そのため、電話のセンサーwifiを使用して検出するだけで、wifiホットスポットの場所を取得するこのアプリに取り組んでいます(電話は実際にはホットスポットwifiに接続していません。検出するだけです)。アプリの開発を開始する前にいくつかの予備調査を行っていましたが、Google Geolocation API がその仕事をしてくれるようです。ただし、無料ではありません (少なくとも API を読んだ後に理解した内容)。Wi-Fi ホットスポットを検出する他のアプリを確認しましたが、それらのアプリがすべての Wi-Fi ホットスポット情報 (SSID、位置座標など) を含む独自のデータベースを持っているかどうか疑問に思っているので、Wi-Fi センサーが Wi-Fi ホットスポットを検出すると、データベースを作成し、場所などの情報を取得します。また、Google マップには Wi-Fi 情報も保存されていると同僚から言われました。本当ですか?できなかったから」
質問する
4933 次
1 に答える
3
Androidには、次のような複数のLocationProviderがあります。
LocationManager.GPS_PROVIDER
:GPSを使用して位置を取得するLocationManager.NETWORK_PROVIDER
:Wifi、セルネットワークなどを使用して位置を取得します。LocationManager.PASSIVE_PROVIDER
:すでに実行中のプロバイダーから提供されたデータを使用して位置を取得します。これにより、複数のアプリがジオロケーション情報を共有できるようになります)
使用するために何も支払う必要はありませNETWORK_PROVIDER
ん。電話のモデルとAndroidのバージョンによっては、一部のプロバイダーがすべてのデバイスに存在しない場合があります。
プロバイダーにはさまざまな特性があります。ネットワークは高速ですが必ずしも十分に正確ではありません。GPSは正確ですが低速でバッテリーを大量に消費します。最善の戦略は、複数のプロバイダーに位置情報を要求し、適切な位置を取得したらすぐに保留中の要求をキャンセルすることです。基準(精度、応答時間など)に応じて十分です
Reto Meierによるこの記事は、Androidのジオロケーションに頭を悩ませるのに非常に役立ちます。
于 2013-03-15T10:48:20.983 に答える