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(); })
您可能还注意到了 posOptions 和 watchOptions 对象。我们使用 timeout 来调整允许传递的最大时间长度(以毫秒为单位),并将 enableHighAccuracy 设置为 false。可以将其设置为 true 以获得最佳结果,但有时可能会导致一些错误。还有一个 maximumAge 选项可用于显示如何接受旧位置。它使用毫秒,与 timeout 选项相同。
当我们启动应用程序并打开控制台时,它将记录设备的纬度和经度。当我们的位置发生变化时,lat 和 long 值将发生变化。