2015-05-04 156 views
0

從一天到另一天Gmaps.js庫停止工作...我創建了一個帶有3個標記的地圖,它們有InfoWindows,並且我在InfoWindow中添加了一個小路由選項在那裏你可以輸入你的地址,Gmaps會將你引導到那個地方。Gmaps.js停止工作

現在在過去2周內沒有改變任何東西,我無法再繼續工作:地圖加載時沒有任何問題,但是當我點擊標記時,地圖會自行消失。

繼承人的網址:http://gruber.tv/z/#standorte

當我在Firefox加載地圖,我可以看到很多「太多遞歸」錯誤,他們都來自谷歌的main.js

我希望有人能幫幫我!

問候 iDave

+0

有控制檯錯誤,說oldUrl沒有定義。解決後,它解決了遞歸? –

+0

沒有那個控制檯錯誤之前有 – iDave

+0

但它現在所以你需要解決它:) –

回答

0

看看你的代碼,處理click事件爲每個標記:

map.setCenter(e.position.k, e.position.D); 

在gmaps的setCenter()方法採用經緯度參數。 kD看起來像這些明智的名字嗎? :-)

我懷疑你是在開發代碼的時候通過在開發者工具中查找來找到這些屬性的,對嗎?在那行代碼上設置一個斷點,當你到達那裏時再看一看。

哎呀,沒有kD屬性有更多。現在它具有AF屬性。那麼,這不會。

但您是否看到__proto__產權在下面?展開,你會看到position對象的可用方法。請注意那裏的lat()lng()方法。這使得很多更有意義,所以試戴:

map.setCenter(e.position.lat(), e.position.lng()); 

這裏發生了什麼事:e.position是從谷歌地圖API一個LatLng對象。 API對象具有許多未記錄的內部屬性,以及記錄的屬性和方法。 lat()lng()是來自LatLng對象的documented methods to get the latitude and longitude。您發現的其他屬性在API中內部使用,但它們不適用於您自己的代碼。谷歌通過一個「縮小器」運行所有的JavaScript API代碼,可以任意改變內部名稱以縮短代碼,但保持記錄的公開名稱不變。因此,每隔幾周當他們更新API時,任何未公開的內部名稱都可能會改變。

+0

完美!非常感謝你! – iDave

+0

很高興爲您提供幫助。我在最後添加了一個註釋,其中提供了有關此處發生的更多信息。 –