中津川篤司TwitterFacebookはてブPocketLINEMonacaアプリはハイブリッドアプリという特性上、バックグラウンドでは処理が実行できなくなるという制約が生じます。そんな問題を乗り越えるために幾つかのプラグインが存在します。今回はバックグラウンドでも位置情報を取得し続けられるtransistorsoft/cordova-background-geolocation-ltを紹介します。Android版のプラグインは有料のようです。そのため今回のサンプルはiOSで試しています。IDEのCordovaプラグインの管理にて行います。指定してインストールします。基本的な使い方ごく基本的な使い方は次のようになります。各コールバックを設定それぞれについて紹介します。初期設定まず最初にオブジェクトを作ります。window.BackgroundGeolocation;次に設定を行います。{bgGeo.start();}});データ保存先については設定で指定することもできますし、データ取得時のコールバックで設定もできます。データ取得時のコールバック関数データを取得した際のコールバック関数には位置情報とタスクIDが送られます。{bgGeo.finish(taskId);});locationには位置情報データが入ってきます。バッテリー情報や、アクティビティの状態(徒歩、車、電車など)も取得できます。"AFBF6293-8A43-40AB-9041-6896D1415CA2"}データ取得失敗時のコールバック関数データの取得に失敗した時のコールバック関数ではエラーメッセージを出すなどの処理を行うことになるかと思います。最後に各コールバックを設定します。failureFn);これで準備完了です。アプリを起動して、近くを歩き回ると自動的に位置情報が取得され続けるようになります。初回実行時には位置情報の取得とモーションとフィットネスのアクティビティへのアクセス権限が求められます。設定している場合はさらにプッシュ通知(ローカルプッシュ)のアクセス権限も必要です。backendへ保存するデータを取得するだけでは面白みがありませんので、可視化してみたいと思います。保存してみたいと思います。Service)と呼ばれるサービスで、アプリ開発で必要になるバックグラウンド系(サーバ系)のサービスを提供してくれます。今回はその一機能である位置情報検索を利用します。backendにユーザ登録すればアプリケーションキーとクライアントキーが得られますので、それを使います。IDEのJS/CSSコンポーネントの追加と削除から追加します。オブジェクトを初期化します。backendへ登録した際に取得できるものと置き換えてください。backendへ登録するようにします。先ほど作成したデータ取得時のコールバック関数内に以下のコードを追記してください。err);});これでデータがクラウド上に保存されます。歩いてみた印象では10〜30秒に一回くらいのペースで記録されているようです。データを可視化する次にデータを可視化するのですが、今回はGoogleマップに表示を行います。JavaScriptのgmaps.jsというライブラリを使ったので、JS/CSSコンポーネントの追加と削除にてgmapsと検索してライブラリを追加します。