スマートフォンやタブレットで特に便利なマップ・アプリケーション。でも現在地が正しく表示されないこともままある。一体なぜ? Android端末を対象に、マップ・アプリケーション活用に必須のGPS・位置情報の設定方法や、プライバシー上の注意点を解説する。
スマートフォンやタブレットを持ち歩いているとき、特に便利だと感じるのはマップ・アプリケーションを使う場面だ。現在地から目的地まで、どういった経路でどのくらいの時間がかかるのか? 現在地の付近にはどんな店があるのか? 対応するマップ・アプリケーションを活用すれば容易に確認できる。
しかし、実際にAndroid端末でマップ・アプリケーションを使っていると、なぜか現在地が正しく表示されないことがままある。
また情報漏えいのニュースでは、スマートフォン/タブレットを介して自分が滞在した地点が第三者に漏れた、といった話題も目にする。いくら便利でも、こうした情報が漏れるのは是が非でも避けたい。
そこで本稿ではAndroid端末を対象に、現在地の情報すなわち「位置情報」の取り扱い方について取り上げる。Android端末がどうやって位置情報を取得しているのか、アプリケーションに対して位置情報の取得をどうやって禁止するか、正しい現在地が取得できない原因や対策は何か、といったことについて解説する。
現在のAndroid端末は、複数の方式で「位置情報」すなわち端末の現在位置を調査(測位)・取得できる。各方式はそれぞれメリット/デメリットがある、併用することで実用的な精度の位置情報を得ることができる。以下では主要な3つの方式について、簡単に説明しよう。
GPS | Wi-Fi | セルID(携帯電話基地局) | |
---|---|---|---|
測位方式の概要 | GPS衛星による測位 | 既知のWi-Fiアクセス・ポイントの位置から測位 | 携帯電話基地局の位置から測位 |
精度 | 数m | 十数m〜約200m | 数千m |
屋内で利用できるか? | ×(GPS衛星からの電波が届かないことがよくある) | ○(鉄筋コンクリートなど電波を遮る建材により、電波を検知できない場合もある) | ○(鉄筋コンクリートなど電波を遮る建材により、電波を検知できない場合もある) |
屋外で利用できるか? | ○(ただし高いビルの谷間などGPS衛星からの電波を遮る建物があると、測位に失敗しやすい) | △(Wi-Fiアクセス・ポイントの少ない地域では、精度が悪くなる) | ○(ただし携帯電話基地局のカバー範囲外では利用できない) |
測位にかかる時間 | 遅い(数分かかる)ことがある | 早い(数秒) | 早い(数秒) |
ネットワーク接続 | 不要 | 位置情報サーバと通信できる必要がある(ネットワーク接続はWi-Fi以外でも可) | 携帯電話回線との接続が必要 |
端末の対応 | ○(ただし古い製品だと搭載されていないこともある) | ○ | ○(タブレットのWi-Fiモデルのように、携帯電話回線との通信機能がない端末では利用不可) |
Android端末の主要な測位方式 それぞれメリット/デメリットが異なるため、どれかを選ぶというより併用することで実用的な精度で位置情報を取得できる。 |
GPS(Global Positioning System)とは、米国が運用している複数の「GPS衛星」を使った測位システムのことだ。GPS衛星から発信された電波をGPS用の受信回路で受信することで、数mといった高い精度の位置情報を算出できる。最近のAndroidスマートフォン/タブレットにはたいていGPS受信回路が搭載されていて、GPSによる測位が利用できる(古い製品には搭載されていない場合もある)。
GPSによる測位のデメリットは、屋内や高いビルの谷間では衛星からの電波を受信しにくいため、測位に失敗しやすいことだ。また測位が始まってから位置情報を得るまで、長いと数分かかることもある。これをカバーするために、次に説明するセルID方式やWi-Fi方式を併用することが推奨されている。
これは、端末の近隣にある無線LANアクセス・ポイントから送信されている電波を検知して、その位置情報から端末の現在地を測位するという方式だ。十数mから200mほどの精度で位置情報を取得できる。無線LANアクセス・ポイントの位置については、Googleなどがあらかじめ車などで実際に走りながら、そのSSIDやMACアドレスを収集し、「位置情報サーバ」に集積して管理する。端末側では、Wi-Fiを有効にすることで検知された無線LANアクセス・ポイントのSSIDやMACアドレスを位置情報サーバへ送信し、推定される位置情報を返してもらう、という仕組みだ(詳細はiPhone/iPod touch入門「第13回 iPhone/iPod touch(iOS 6)の無線LAN設定」のコラムを参照。)
もし携帯電話回線を経由して位置情報サーバと通信できるなら、Wi-Fiでネットワークに接続する必要はない。ネットワーク接続なしでも、無線LANアクセス・ポイントから送信されているSSIDやMACアドレスといった位置情報の算出に必要な情報は、Wi-Fiをオンにするだけで取得できるからだ。
デメリットは、無線LANアクセス・ポイントのまばらな地域や、Googleによるアクセス・ポイント位置の情報収集が行き届いていない地域ほど、精度が悪くなることだ。
これは携帯電話の通信機能を応用して、携帯電話基地局の位置情報から端末の現在地を算出するという方式だ。原理的には、3つ以上の基地局からの電波強度が判明すれば、現在地をおおよそ特定できる。
デメリットの1つは、基地局同士の間隔が空いているため、精度が数千mとよくないことだ。またタブレットのWi-Fiモデルのように、携帯電話回線との通信機能を装備していない端末では利用できない。
アプリケーションに位置情報の取得を許可/禁止したり、あるいは上記の測位方式のうち、どれを利用するか、といった設定は、Android OSが備えている設定メニューから行う。ここでは、その設定方法や設定による影響、注意点について説明しよう。
位置情報に関する設定は、ホーム画面にある[設定]アイコン−[位置情報サービス]([位置情報アクセス][現在地情報とセキュリティ]の場合もある)とタップすると、その設定メニューが表示される。重要なポイントは、ここでの設定は全アプリケーションに作用することだ。「マップ・アプリはよく使うので常に位置情報の取得をオンにしておきたい」「でもほかのアプリではオフにしたい」と望んでも、個々のアプリケーションごとに取得の許可/禁止を設定することはできない。
また、ここでの設定で位置情報の取得を許可すると、以後、位置情報の取得を必要とするインストール済みの全アプリケーションは、ユーザーの明示的な確認なしで位置情報を取得できるようになる。もし現在地の漏えいを狙った悪意のあるアプリケーションが混入していると、いったん許可した後は、そのアプリケーションから現在地がネットワークを介してどこかのサーバへ送信され続ける、という可能性だって考えられるわけだ。こうした危険性は認識しておきたい。
Android OS側の位置情報の設定は、OSのバージョンによって設定の項目および結果が異なるので、以下では3パターンに分類して説明する。ただし先にいっておくと、OSのバージョンにかかわらず、最も精度の高い測位を利用するにはすべての設定を有効にするよりほかにはない。
Android OS 4.1〜4.3の場合、[設定]の[位置情報サービス]または[位置情報アクセス]をタップすると、位置情報の設定画面が表示される。
位置情報の設定画面の例(右:Android OS 4.1.2、左: Android OS 4.3.0)
(1)アプリケーションに位置情報の取得を許可するには、これをオンにする。
(2)GPSによる測位を有効にするには、これをオンにする。
(3)これをオンにすると、Wi-Fi/携帯電話基地局による測位が可能になるほか、匿名で位置情報がGoogleのサーバに送信されるようになる。
■[位置情報にアクセス]
これをオンにすると、位置情報の取得を求める全アプリケーションに対して、位置情報の取得・使用が許可される。以後、これらのアプリケーションはユーザーの明示的な確認を経ないで位置情報を使用できる(ただし、アプリケーション側でも設定を変更するまで位置情報を使わない、オプト・アウト方式のアプリケーションも存在する)。オフにすると、全アプリケーションで位置情報の取得が禁止される。
■[GPS機能]
オンにすると、アプリケーションはGPSによる精度の高い位置情報を使用できるようになる。
■[Google位置情報サービス]/[Wi-Fi/モバイル接続時の位置情報]
オンにすると、アプリケーションはWi-Fi/セルIDによる測位で位置情報を取得できるようになる。さらに、匿名化された状態で現在地データが収集されてGoogleのサーバに送信されるようになる。
Android OS 4.0の場合、[設定]の[位置情報サービス]をタップすると、以下のような位置情報の設定画面が表示される。
■[Googleの位置情報サービス]
これをオンにすると、まず位置情報の取得を求める全アプリケーションに対して、位置情報の取得・使用が許可される。またWi-Fi/セルIDによる測位で位置情報をアプリが取得できるようになる。さらに、匿名化された状態で現在地データが収集されてGoogleのサーバに送信されるようになる。
■[GPS衛星]
これをオンにすると、まず位置情報の取得を求める全アプリケーションに対して、位置情報の取得・使用が許可される。またGPSによる精度の高い位置情報を使用できるようになる。
Android OS 2.3.7の場合、[設定]の[現在地情報とセキュリティの設定]をタップすると、以下のような位置情報の設定画面が表示される。
■[無線ネットワークを使用]
これをオンにすると、まず位置情報の取得を求める全アプリケーションに対して、位置情報の取得・使用が許可される。またWi-Fi/セルIDによる測位で位置情報をアプリが取得できるようになる。さらに、匿名化された状態で現在地データが収集されてGoogleのサーバに送信されるようになる。
■[GPS機能を使用]
これをオンにすると、まず位置情報の取得を求める全アプリケーションに対して、位置情報の取得・使用が許可される。またGPSによる精度の高い位置情報を使用できるようになる。さらに、匿名化された状態で現在地データが収集されてGoogleのサーバに送信されるようになる。
ここまで説明したように位置情報の取得を許可/禁止したとき、アプリケーション側で注意すべき点を説明する。
そもそもアプリケーションが位置情報を使用するかどうかは、インストール時のアクセス許可一覧から確認する。具体的には「現在地」という項目があれば、位置情報を取得すると判断できる。
位置情報の取得が許可されている場合、アプリケーションは特にユーザーへ明示的に許可を求めることなく位置情報を使用「できる」ようになる。ただし、実際に使用するかどうかはアプリケーションの設定に依存する(後述)。
逆に位置情報の取得が禁止されている場合、アプリケーションはユーザーに対してその許可を求めるダイアログを表示する。
ここで「許可する」をタップすると、Android OSの位置情報設定メニューが表示される。そこで位置情報の取得を許可すると、ダイアログを表示したアプリケーションだけではなく、位置情報を求める全アプリケーションに対して位置情報の取得が許可される。ユーザー・インターフェイスの遷移からいって、ダイアログを表示したアプリケーションだけに許可したように勘違いしやすいので要注意だ。
Android OS側で位置情報の取得を許可している場合、アプリケーションが位置情報をどのように取り扱うかは、まさにアプリケーション次第である。とはいえ一般的には、端末の外部、すなわちネットワーク経由でどこかに位置情報を送信する機能については、アプリケーション側の設定でオン/オフできる。これをデフォルトでオフにしている、すなわちオプト・アウトにしているアプリケーションは少なくない。そのため、位置情報を積極的に活用したい場合はアプリケーション側の設定もオンにする必要がある。逆にプライバシー保護のためには、この設定がオフになっているかよく確認すべきだ。
例えばカメラ・アプリの場合、撮影した写真データに撮影地の緯度・経度を加えるかどうか設定できる場合がある。アプリケーションの設定メニューで「ジオ・タグ」「GPSタグ」といった単語で探すと、この設定項目を見つけられる。
マップ・アプリを使っていると、なぜか現在地が正しく表示されないことがある。そんなときの対策として考えられるものをピックアップしてみた。
Wi-FiやセルIDだけで測位をしている場合はGPSも有効にしてみる。逆もまたしかりだ。特にGPSだけ有効にしていて測位に時間がかかる場合は、Wi-Fi/セルIDも有効にすると数秒ほどで測位が完了するようになることもある。
屋内や高いビルの谷間では、GPS衛星からの電波が遮られて端末に届かないことがある。可能であれば建物から出て移動することで、GPSで測位できるようになることもある。
Android OSやマップ・アプリというソフトウェアの不具合により、特定の状況下で位置情報の取得がうまくいかない、という症例も過去には見つかっている。もし更新版があるなら、リリースノートを確認しつつ更新してみるのも手だ。
今回はAndroid端末で位置情報を活用するための概要や設定方法、注意点を解説した。アプリケーションで実用的な精度を得るには、端末が利用できるすべての測位方法を有効にするよりほかにない。ただGPSやWi-Fiを有効にすると消費電力が増えてバッテリー持続時間が短くなりがちだ。バッテリーに余裕がない場合は、該当アプリケーションを使い終えたらGPSを(不必要ならWi-Fiも)オフにするといった運用も検討すべきだろう。
プライバシーを重視する場合は、必要なときだけ位置情報取得を許可して、終わったら禁止に戻す、という使い方をするよりほかない。それが面倒であれば、ベストの解ではないが、信用のおける(定評のある)アプリケーションを厳選してインストールし、それぞれ位置情報を送信するような設定を適宜オン/オフすることになるだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.