我正在使用名为“geolocation”的ngCordova插件,此插件返回用户的设备位置[纬度,经度]如果代码是这样的话,它可以正常工作
app.controller('MotionController', function ($scope, $cordovaDeviceMotion, $ionicPlatform, $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("Latitude: "+lat )
}, function (err) {
// error
})
})
我在控制台中得到了正确的值..
但问题是,当我把代码放在像这样的函数中时
app.controller('MotionController', function ($scope, $cordovaDeviceMotion, $ionicPlatform, $cordovaGeolocation)
{
var UserLatitude;
function getLocations()
{
var posOptions = { timeout: 10000, enableHighAccuracy: false };
$cordovaGeolocation
.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude
var long = position.coords.longitude
UserLatitude = lat;
}, function (err) {
// error
})
return UserLatitude;
}
console.log("Latitude is:"+getLocations())
})
一旦我调用了该功能,我在控制台中得到了“Latitude is:undefined” 怎么回事?