2017-01-10 158 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。