看看你的代碼,處理click
事件爲每個標記:
map.setCenter(e.position.k, e.position.D);
在gmaps的setCenter()
方法採用經緯度參數。 k
和D
看起來像這些明智的名字嗎? :-)
我懷疑你是在開發代碼的時候通過在開發者工具中查找來找到這些屬性的,對嗎?在那行代碼上設置一個斷點,當你到達那裏時再看一看。
哎呀,沒有k
或D
屬性有更多。現在它具有A
和F
屬性。那麼,這不會。
但您是否看到__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時,任何未公開的內部名稱都可能會改變。
有控制檯錯誤,說oldUrl沒有定義。解決後,它解決了遞歸? –
沒有那個控制檯錯誤之前有 – iDave
但它現在所以你需要解決它:) –