Angular-ngCordova - Gelocation在函数内部返回undefined

时间:2017-09-06 14:06:21

标签: javascript angular cordova ionic-framework

我正在使用名为“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” 怎么回事?

0 个答案:

没有答案