Ionic-geolocation
提供:Dev Guides
イオン-Cordova Geolocation
このプラグインは、位置情報プラグインをIonicアプリに追加するために使用されます。
ジオロケーションの使用
ジオロケーションプラグインを使用する簡単な方法があります。 このプラグインは、コマンドプロンプトウィンドウからインストールする必要があります。
C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-geolocation
次のコントローラーコードは2つの方法を使用しています。 1つ目は getCurrentPosition メソッドで、ユーザーのデバイスの現在の緯度と経度を表示します。 2つ目は watchCurrentPosition メソッドで、位置が変更されたときにデバイスの現在の位置を返します。
コントローラコード
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
var posOptions = {timeout: 10000, enableHighAccuracy: false};
$cordovaGeolocation
.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + ' ' + long)
}, function(err) {
console.log(err)
});
var watchOptions = {timeout : 3000, enableHighAccuracy: false};
var watch = $cordovaGeolocation.watchPosition(watchOptions);
watch.then(
null,
function(err) {
console.log(err)
},
function(position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + '' + long)
}
);
watch.clearWatch();
})
*posOptions* および *watchOptions* オブジェクトにも気づいたかもしれません。 *timeout* を使用して、ミリ秒単位で許可される最大時間を調整し、 *enableHighAccuracy* をfalseに設定しています。 最高の結果を得るために *true* に設定できますが、エラーが発生する場合があります。 古いポジションがどのように受け入れられるかを示すために使用できる *maximumAge* オプションもあります。 タイムアウトオプションと同じミリ秒を使用しています。
アプリを起動してコンソールを開くと、デバイスの緯度と経度が記録されます。 位置が変更されると、 lat と long の値が変更されます。