如何将Google Places API工作代码置于IIFE下

时间:2019-03-30 21:03:03

标签: javascript google-places-api

var calli = (function(){

    var inputbox, geocoder;

function initAutocomplete() {
  geocoder = new google.maps.Geocoder();
  inputbox = new google.maps.places.Autocomplete(
             (document.getElementById('input-box')), {
              types: ['geocode']
             });


  inputbox.addListener('place_changed', fillInAddress);  
}

function fillInAddress() {
  var getplace = inputbox.getPlace();
  codeAddress(document.getElementById('input-box').value);
}

function codeAddress(address) {
   geocoder.geocode({
           'address': address
            }, 
            function(results, status) {
              if (status == 'OK') 
                 { console.log('hi');
                   var senddata = $.get('/myurl',{params}, function (data) {});

               } else {
                       alert( status);
                  }
            });
}

 return (initAutocomplete); 
 })();

calli();

当我在没有IIFE的情况下使用上述代码时,它可以正常工作,并提供了自动完成下拉列表。
但是,当我像上面那样使用它时,什么也没有发生,没有错误,只有AuthenticationService被调用,而对AutocompletionService.GetPridictions?的调用也没有发生。

关于我错在哪里的任何建议?非常感谢。艾菲尔

0 个答案:

没有答案