2013-06-28 165 views
0

我創建了谷歌地圖中有一個觀點,當從li元素的事件有一定的點擊被觸發。 地圖第一次顯示ok。其結果是這樣的:不正確的谷歌地圖顯示

enter image description here http://postimg.org/image/eolnn0411/

,但是當我在另一個li元素點擊創建一個新的地圖是這個樣子:

enter image description here http://postimg.org/image/576um203l/

我注意到一個奇怪的行爲,如果我調整瀏覽器窗口的大小,地圖會在第在。

我用下面的代碼:

var latlng = new google.maps.LatLng(coordinates[0], coordinates[1]); 
var myOptions = { 
      zoom: 16, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

var map; 
map = new google.maps.Map(node, myOptions); 

var marker = new google.maps.Marker({ 
      map: map, 
      position: latlng 
     }); 

編輯: 相關帖子here,和here

編輯2:通過使用利用的setInterval()的替代方法適用有時。所以問題似乎是地圖沒有準備好。

+0

你應該提供完整的代碼,最好是把它變成的jsfiddle活生生的例子! – TMS

+0

我使用Dojo Toolkit和有一些麻煩得到它的上的jsfiddle工作... – mluis

回答

0

嘗試觸發谷歌地圖(V3)調整大小事件。

google.maps.event.trigger(map, 'resize'); 

這個fiddle將幫助您找到差異。

+0

我面臨調整的地圖,而使用jQuery – mluis

+0

問題,我添加了一行代碼,但不能讓它開始工作。或者我不瞭解resize事件如何工作。 – mluis

+0

@mluis我還沒有嘗試道場,可能這個[文章](http://lgrammel.blogspot.in/2009/05/google-map-in-dojo-floatingpane.html)幫助你。 – Praveen