谷歌地图错误

时间:2017-01-10 21:41:19

标签: javascript google-maps

我希望有人也遇到过这个问题。我是这一切的新手,因此请原谅我缺乏知识。

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

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

  

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

在页面的源视图中,谷歌地图JS通过此方式调用 https://maps.google.com/maps/api/js?key=++AIzaSyC_GzbCPmMM8Jme9ZAi-IbKOdaXo_SfK_I+&libraries=places&ver=3b47f534942a304aaad0d1a98d2531f8

部分"& ver = 3b47f534942a304aaad0d1a98d2531f8"不应该在那里(它被添加到每个JS文件中),所以我们假设它必须来自我可能导致该问题的一些插件。

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

非常感谢任何帮助。

谢谢,

贾斯汀

4 个答案:

答案 0 :(得分:8)

好的 - 显然这是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

Google小组已将其记录下来并正在开展工作。

与此同时,您可以执行以下操作:

  

感谢您的举报!我们已经创建了一张内部机票来调查此问题。   在此期间,您可以加载JavaScript API版本3.26以避免出现此错误。

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

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

答案 1 :(得分:3)

我有同样的问题,但我已经改为版本3并且它已经有效了。显然,它不是纠正它的最好方法,但是我可以使用这个解决方案来发布正确的解决方案。

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

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

答案 2 :(得分:0)

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

Google Maps API似乎使用了componentRestrictions选项,您可以阅读更多相关信息here。我假设Google最近进行了一项更改,如果配置错误,则会抛出异常。

因此,在您的特定情况下,我想您或您的某个插件未正确设置componentRestrictions

答案 3 :(得分:0)

将Google地图升级到版本3.28。