我一直在努力这个几个小时,想知道为什么这个简单的自动完成没有出现。
事实证明,在我的代码中,input元素被设置为autocompete =“off”,而pac-container上的样式显示为none。
我可以在DevTools中更改这些值,它可以正常工作,但是我无法弄清楚这些值被设置为这些值。
我的自动完成功能是在Angular指令中设置的,像这样,loadGmaps在哪里可以获取google api。
- template: '<input id="google_places_ac" name="google_places_ac" type="text" class="input-block-level"/>',link: function($scope,elm,attrs){
- loadGmaps().then(function(){
- var autocomplete = new google.maps.places.Autocomplete($("#google_places_ac")[0],{});
- console.log(autocomplete);
- google.maps.event.addListener(autocomplete,'place_changed',function() {
- var place = autocomplete.getPlace();
- $scope.position = {
- lat: place.geometry.location.lat(),lon: place.geometry.location.lng()
- };
- $scope.$apply();
- });
- });
———————更新—————————- ——————
希望没有人被这个误入歧途,autocomplete =“off”有点误导。即使自动完成=“关闭”,自动完成功能仍然有效,因此不是问题。我覆盖了.pac-container元素的css,它保存了结果
- .pac-container { //this is a fix for google autocomplete not showing up
- z-index: 10000 !important;
- display: block !important;
- }