2017-01-10 201 views
4

我希望有人也遇到过这个问题。我对这一切都是新手,所以请提前理解我的缺乏知识。谷歌地图错误

我目前在我的wordpress网站上安装了Google Maps API。当我在网站上执行搜索时,即包含Google Map的页面时,未找到任何列表结果。经过进一步调查,我被告知:

我的网站上有来自Maps API的JS错误。 Chrome开发控制台显示:

js?key=++AIzaSyC_GzbCPmMM8Jme9ZAi-IbKOdaXo_SfK_I+&libraries=places&ver=3b47f53……:34 InvalidValueError: setComponentRestrictions: not an Object

在页面的源视图

谷歌地图JS经由该 https://maps.google.com/maps/api/js?key=++AIzaSyC_GzbCPmMM8Jme9ZAi-IbKOdaXo_SfK_I+&libraries=places&ver=3b47f534942a304aaad0d1a98d2531f8

部分称为“&版本= 3b47f534942a304aaad0d1a98d2531f8”不应该存在(它加入到每个JS文件),所以我们假设它必须来自我可能导致该问题的某个插件。

在我开始禁用我的wordpress网站上的每个插件之前,有没有人遇到过这个错误?

任何帮助将不胜感激。

感谢,

贾斯汀

+1

发布展示问题(代码)的[mcve]会有帮助。看起来API正在向其中一个服务的输入报告错误。 – geocodezip

+0

https://github.com/ubilabs/geocomplete/issues/309#issuecomment-271791421 – shashank

+0

@redFIVE此线程目前似乎是唯一导致谷歌上这个确切的错误。在最后一天左右我也遇到了这个错误,它似乎已经出来了。将进一步研究。 –

回答

0

我刚开始注意到类似的错误还有,InvalidValueError: setComponentRestrictions: in property country: not a string; and not an Array。事实证明,当尝试初始化Place Autocomplete时,我传递了一个空对象{},作为componentRestrictions选项。

看起来像componentRestrictions选项是由Google Maps API使用的,您可以阅读更多关于它的信息here。我假设谷歌最近做了一个改变,如果配置错误,会引发异常。

因此,在您的特定情况下,我想或者您或您的其中一个插件没有正确设置componentRestrictions

8

OK - 所以显然这是在3.27版本的谷歌地图推出了一个错误。

https://code.google.com/p/gmaps-api-issues/issues/detail?id=11253&q=setComponentRestrictions&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal

的谷歌团队有它记录下来,工作就可以了。

在此期间,你可以做如下:

Thanks for the report! We have created an internal ticket to investigate this. On the meantime, you can load JavaScript API version 3.26 to avoid getting this error.

更新:它看起来并不像他们打算解决这个。因此,正确的修复方法是将您的设置更改为:

autocomplete.setComponentRestrictions({'country': []}); 
+0

我在3.2.6上有同样的错误。当我不需要它时,完全避免'setComponentRestrictions'调用而不是传递'null' –

0

将Google地图升级到版本3.28。