2011-11-25 159 views
0

我遇到此問題:我在一個頁面中顯示兩個Google地圖,只顯示一次。一個顯示用戶選擇的首選商店。如果用戶想要選擇另一個,則WebService會提供最近的一個,並且通過該信息,我隱藏第一個地圖(和一些關聯的元素),創建另一個地圖並顯示它。顯示/隱藏時顯示灰色區域的Google地圖

這裏是小提琴:

http://jsfiddle.net/Osoascam/ReSsM/2/

我有幾個問題:

  1. 直接(不通過的google.load)調用谷歌地圖API,有沒有一種方法來確定當腳本已經完全加載,所以我不會遇到「谷歌沒有定義」的錯誤?

  2. 我可以做兩張地圖嗎?通過引用var currentMapId, searchMapId?當我發送參考文獻時,我認爲它可能有效......它正在工作,但我認爲它有點愚蠢。我不知道只有一個參考是可以的。

  3. 嘗試快速地反覆點擊按鈕,地圖發生變化並出現一個大的灰色區域。這對小提琴來說並不是什麼大問題,但它在我的應用程序上,因爲即使用戶拖動地圖,它也會永遠保持這種方式。這實際上是我最重要的問題,其他兩個只是代碼組織和優化。我該如何解決它?

  4. 最後,我不知道這是否是我的印象,但它似乎在您拖動時非常緩慢地加載地圖。

注:其實我的第二個地圖加載從來沒有,但應用程序是如此之大,我還在測試的原因。出於某種奇怪的原因,無論何時調整瀏覽器大小,地圖都會開始加載。

Google Maps Error

由於提前,

奧斯卡

+0

此答案幫助了我:http://stackoverflow.com/a/3845997/763010 –

+0

非常感謝!我等了4年才終於解決了這個問題。哈哈,只是在開玩笑,但我敢肯定這個評論可能會幫助有同樣錯誤的人:) –

回答

1

我有同樣的問題,因爲你,我的佈局真的是複雜的,而且我也有一個頁面上的倍數gmaps。我爲了解決這個問題所做的是改變z-index的

我包了地圖中的一個容器上像這樣的:

<div style="height:0px;overflow:hidden;z-index:-999;"> 
<div id="map" style="width: 520px; height: 400px"></div> 
</div> 

是解決了問題,但我真的不知道爲什麼。我希望它有幫助! 祝你好運