タイトル通り、Cordovaで開発中のアプリで現在地の緯度・経度を取得する方法です。
今回使用したプラグインはこちら。
GitHub – apache/cordova-plugin-geolocation: Apache Cordova Plugin geolocation
https://github.com/apache/cordova-plugin-geolocation
このプラグインでは、現在の位置情報を1度だけ取得したり、もしくは定期的に位置情報をし続けることができます。
インストールコマンドはこちら。
cordova plugin add cordova-plugin-geolocation
実際のコードはこちら。
// 成功した時の処理 var onSuccess = function(position) { console.log('Latitude: ' + position.coords.latitude); console.log('Longitude: ' + position.coords.longitude); }; // 失敗した時の処理 function onError(error) { console.log('code: ' + error.code); console.log('message: ' + error.message); } var option = { timeout: 30000 }; // 現在の位置情報を1度だけ取得 navigator.geolocation.getCurrentPosition(onSuccess, onError, option);
成功時の処理、失敗時の処理に加えて、オプションを追加することができます。
上記のコードではタイムアウトの時間を指定しています。
他にも、enableHighAccuracy : true
を指定すると、高精度な位置情報を取得できます。
もし、なるべく正確な位置情報を取得したい場合は、こちらのオプションを追加してください。
定期的に位置情報を取得し続けたいときは、navigator.geolocation.watchPosition()
を使います。
なお、引数は navigator.geolocation.getCurrentPosition()
と同じです。
ちなみにおまけですが、2点間の距離を求める方法について、リンクを張っておきます。
地球上の2点間の直線距離を求める – Qiita
https://qiita.com/s-yoshiki/items/b0a6f2143db0e1a191e8
主に自分の備忘録のためのメモですが、恐らく緯度・経度を取得した時に行うことが多い処理ではないかなと思います。
こちらも是非参考にしてください。
以上、Cordovaのアプリで現在地の緯度・経度を取得する方法でした。