Javascript 试图通过Angular controller使用Google geocode API进行地理编码,值未定义

Javascript 试图通过Angular controller使用Google geocode API进行地理编码,值未定义,javascript,angularjs,cordova,ionic-framework,google-geocoding-api,Javascript,Angularjs,Cordova,Ionic Framework,Google Geocoding Api,我有一个使用AngularJS的Cordova应用程序。我已经为它构建了几个控制器,到目前为止,我没有任何问题,但是现在尝试对我们为客户端构建的API提供的地址进行地理编码,在尝试访问键/值对时,我所能得到的似乎是未定义的 这里的console.log只是为了确保对象被正确解析,并且我可以访问内容(我在调试测试时使用live reload服务器),实际内容是从应用程序内部的HTML模板加载的 这个问题已经讨论了几天了,我可以;I don’我不能用它,请帮我拿一下这个 .controller('S

我有一个使用AngularJS的Cordova应用程序。我已经为它构建了几个控制器,到目前为止,我没有任何问题,但是现在尝试对我们为客户端构建的API提供的地址进行地理编码,在尝试访问键/值对时,我所能得到的似乎是未定义的

这里的console.log只是为了确保对象被正确解析,并且我可以访问内容(我在调试测试时使用live reload服务器),实际内容是从应用程序内部的HTML模板加载的

这个问题已经讨论了几天了,我可以;I don’我不能用它,请帮我拿一下这个

.controller('StayDetailCtrl', function($scope, $http, $stateParams) {
stayId = $stateParams.stayId
$scope.geodata = [];

$http.get('http://api.vllapp.com/staydetail/' + stayId)
    .then(function(result) {
        $scope.staydetails = result.data;

$http.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + $scope.staydetails.address + '&key=AIzaSyBZVOSPh0Z4mv9jljJWzZNSug6upuec7Sg')
    .then(console.log($scope.staydetails.address))
        .then(function(result) {
            $scope.geodata = result.data;
    })
    .then(console.log($scope.geodata.geometry.location.lat))
});
注意:此位加载到另一个工作正常的控制器上,模板从中获取所有其他数据以自行构建

$scope.staydetails = [];
提前谢谢


编辑了这段代码以使其同步,但没有效果:/

不确定我是否理解这个问题,但我想您可能会发现下面的代码很有帮助


非常感谢您的投入。抱歉,如果我不够清楚,我可以让查询正常进行,但我似乎无法将数据正确地推送到变量。我会尽快尝试你的代码。这完全解决了我的问题,非常感谢!
.controller('MainCtrl', function($scope,$http) {
  var address ="1334 Emerson St, NE Washington DC";

  $scope.geodata = {};
  $scope.queryResults = {};
  $scope.queryError = {};

  $http.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + 
            address + '&key=AIzaSyBZVOSPh0Z4mv9jljJWzZNSug6upuec7Sg')
    .then(function(_results){
       console.log(_results.data);
       $scope.queryResults = _results.data.results;
       $scope.geodata = $scope.queryResults[0].geometry
     }, 
     function error(_error){
        $scope.queryError = _error;
     })
});