SyntaxHighlighter

2010/09/12

NexusOneの位置情報取得メモ

NexusOneとb-mobileの組み合わせにおいて、位置情報取得をしてみたときのメモです。

はじめに、LocationManager#getBestProvider()の話。GPSが最も詳しい情報を返すはずなのでBESTかと思うが、必ずNETWORKが返される。ここにバグレポートがされているが、「GPSの測位には時間がかかるのでBEST解としてNETWORKが返される」という見解が巷にあった。そのNETWORKの答えを受け取ってからマニュアルでGPSに変更し、さらに詳しい位置を取得し、表示すれば良いだろうとのこと。

サービスで起動して、バックグラウンドで詳しい位置を取得したいときがある(今回の場合)。その場合は、はじめからGPSを指定しなければならない。


次に、3Gネットワークによる位置情報取得について。b-mobileのSIMを利用しているためか、3G単体では位置情報を取得できない。WiFiをONにしておけば、WiFiでネットに繋がっていなくても3Gから位置情報を取得できる。WiFiの電波情報を3G回線で送信して、位置情報を取得しているようだ。3GをOFFであってもWiFiでネット接続を可能にしておけば、もちろん位置情報を取得できる。重要度として、GPS>WiFi>3Gと考えていた方が良さそう。

0 件のコメント: