我一直在努力这个几个小时,想知道为什么这个简单的自动完成没有出现。
事实证明,在我的代码中,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; }