Ionic Geolocation


此插件用于向Ionic应用程序添加地理位置插件。

使用地理位置

有一种简单的方法可以使用地理定位插件。我们需要从命令提示符窗口安装此插件。

C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-geolocation

以下控制器代码使用两种方法。第一个是 getCurrentPosition 方法,它将向我们显示用户设备的当前纬度和经度。第二个是 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();
})

您可能还注意到了 posOptionswatchOptions 对象。我们使用 超时 来调整允许以毫秒为单位的最大时间长度,并将 enableHighAccuracy 设置为false。可以将其设置为 true 以获得最佳结果,但有时可能会导致一些错误。还有一个 maximumAge 选项可用于显示如何接受旧位置。它使用毫秒,与超时选项相同。

当我们启动应用程序并打开控制台时,它将记录设备的经度和纬度。当我们的位置改变时, 纬度 值将改变。