Google places autocomplete在angularjs的控制台中显示错误?

Google places autocomplete在angularjs的控制台中显示错误?,angularjs,Angularjs,我使用的是angularjs 1.13.X版。在我的应用程序中,有一个google places自动完成搜索框作为指示。加载页面时,控制台会显示以下错误,但搜索框工作正常 InvalidValueError: setComponentRestrictions: in property country: not a string; and not an Array 我的指令码 routerApp.directive('googleplace', ['$state', function ($sta

我使用的是angularjs 1.13.X版。在我的应用程序中,有一个google places自动完成搜索框作为指示。加载页面时,控制台会显示以下错误,但搜索框工作正常

InvalidValueError: setComponentRestrictions: in property country: not a string; and not an Array
我的指令码

routerApp.directive('googleplace', ['$state', function ($state) {
            return {
                require: 'ngModel',
                link: function (scope, element, attrs, model) {
                    var options = {
                        types: [],
                        componentRestrictions: {}
                        };
                    scope.gPlace = new google.maps.places.Autocomplete(element[0], options);
                    google.maps.event.addListener(scope.gPlace, 'place_changed', function (e) {
                        scope.$apply(function () {
                            model.$setViewValue(element.val());
                            var countrycode = "na";
                            var latitude = 0;
                            var longitude = 0;
                            scope.secondplacebox = scope.chosenPlace;
                            for (var i = 0; i < scope.gPlace.getPlace().address_components.length; i++) {
                                if (scope.gPlace.getPlace().address_components[i].types[0] == 'country') {
                                    countrycode = scope.gPlace.getPlace().address_components[i].short_name;
                                }
                            }
                            latitude = scope.gPlace.getPlace().geometry.location.lat().toFixed(6);
                            longitude = scope.gPlace.getPlace().geometry.location.lng().toFixed(6);
                            //$state.go('home');
                            scope.Fn_setCookieData(latitude, longitude, countrycode);

                        });
                    });
                }
            };
        }
    ]);
routerApp.directive('googleplace',['$state',函数($state){
返回{
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
变量选项={
类型:[],
组件限制:{}
};
scope.gPlace=new google.maps.places.Autocomplete(元素[0],选项);
google.maps.event.addListener(scope.gPlace,'place_changed',函数(e){
作用域:$apply(函数(){
模型.$setViewValue(element.val());
var countrycode=“na”;
var纬度=0;
var经度=0;
scope.secondplacebox=scope.chosenPlace;
对于(var i=0;i

如何解决这个问题?请帮助我并提前感谢

我看到
选项
组件限制
并且它不限于特定的国家。使用类似于
componentRestrictions:{country:'fr'}
的国家/地区限制可以解决此问题。将
fr
替换为您所在国家/地区的要求。如果您不需要限制某个国家,只需在选项中避免使用它即可


希望这对你有帮助

我也有同样的问题,但我已经改成了第3版,它已经成功了

Before http://maps.googleapis.com/maps/api/js?key=[MyKey]&libraries=places&language=en

After http://maps.googleapis.com/maps/api/js?key=[MyKey]&libraries=places&language=en&v=3

是的,没错。。谷歌应该注意将错误消息抛出控制台的方式。