angularjs – Google商家信息自动填充未显示

前端之家收集整理的这篇文章主要介绍了angularjs – Google商家信息自动填充未显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在努力这个几个小时,想知道为什么这个简单的自动完成没有出现。

事实证明,在我的代码中,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;
            }

这样做的问题是,一旦从自动填充中选择了一个项目,自动填充仍然可见,我确定有更好的方法来使用自动填充。

对于任何可能被卡住或有困难的人,忽略’autocomplete =“no”’值,不要使用’display:block’显示’.pac-container’。

进入你的chrome devtools,并确保你可以看到.pac容器div。在你的CSS中设置该div的z-index。当有搜索值时,google会将显示更改为阻止并处理显示和隐藏,您只需要担心z-index。

猜你在找的Angularjs相关文章