「ポケモンGO」の大ヒットで、位置情報を利用したゲームが盛り上がりましたが、位置情報をゲームでしか使わないのは実にもったいないものです。最近では、大抵の人がスマートフォンを持っていますし、会社側で支給する場合でも、格安SIMを活用すれば維持コストも低いものです。そうであれば、これを営業活動や現場管理に活用できれば便利です。そこで、今回は、HTML5/JavaScriptから、スマートフォンのGPSを利用する方法を紹介します。

HTML5/JavaScriptでできること

 さて、スマートフォンのネイティブアプリの開発も手軽になっていますが、Webブラウザーから利用する「Webアプリ」は、開発が簡単なのが良い点です。Webサイトを公開するのと同じ手順で開発できます。スマートフォンのWebブラウザーは、HTML5に対応しています。HTML5を使えば、画面のタッチ情報、図形の描画、オフラインでも使えるストレージやデータベース、ユーザーの位置情報の取得など、様々な機能を利用できます。

位置情報を取得するために必要な条件

 さて、今回は、HTML5で利用できる数々の機能のうち、ユーザーの位置情報の取得を行う「Geolocation API」の使い方を紹介します。

 この「Geolocation API」は、GPSを利用して、実際にユーザーがいる場所の緯度経度情報を取得することができます。とは言え、GPSを搭載していないスマートフォンであっても、インターネットの接続情報(LANや携帯電話の基地局、IPアドレス)から位置情報を取得することができます。

 とは言え、Webサイトにアクセスしただけで、位置情報が取得できるわけではありません。気軽に位置情報が取得できてしまっては、ユーザーのセキュリティやプライバシー上の問題となるからです。

 そこで、Geolocation APIでは、位置情報を利用しても良いかどうかを、ユーザーに確認し、ユーザーが許可した場合のみ、位置情報を取得可能な仕様となっています。また、暗号化されない通信HTTP通信では、位置情報が他者に漏洩する恐れがあるため、SSLを利用して暗号化された、HTTPS通信を利用する場合のみ、位置情報が取得できます。

 まとめてみましょう。利用できるのは、次の場合です。

(1) ユーザーが位置情報の提供を許可した場合
(2) HTTPS通信を利用する場合

 ちなみに、条件(2)は、2016年中旬頃に、Webブラウザーのセキュリティが強化されて追加された条件です。以前は、位置情報が利用できたのに、現在は利用できないという場合、条件(2)による制限が関係しています。