Ionic - Cordova 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 对象。我们使用 timeout 来调整允许传递的最大时间长度(以毫秒为单位),并将 enableHighAccuracy 设置为 false。可以将其设置为 true 以获得最佳结果,但有时可能会导致一些错误。还有一个 maximumAge 选项可用于显示如何接受旧位置。它使用毫秒,与 timeout 选项相同。

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