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* オプションもあります。 タイムアウトオプションと同じミリ秒を使用しています。

アプリを起動してコンソールを開くと、デバイスの緯度と経度が記録されます。 位置が変更されると、 latlong の値が変更されます。