2012-11-21 100 views
1

我搜索了很多,無法弄清楚這一點。我正在更新從v2到v3的地圖。它允許用戶調整地圖容器的大小。在更改容器大小後,在v2中,我只是做了map.checkResize(),它剛剛工作。對於v3版本,我使用了map.fitBounds(map.getBounds()),它沒有做任何我能看到的東西。我在容器的中心維護一個十字準線標記,所以很明顯v3調整大小不能正常工作。如何讓地圖正確使用調整大小的容器?

我也嘗試將邊界函數放置在回調函數內外的「bounds_changed」事件回調函數以及map.setOptions(mapOptions)。很明顯,地圖不知道容器大小的變化。我如何讓地圖識別新的容器尺寸?

這是當前在本地測試服務器上,所以我無法提供鏈接。我可以在現場服務器上製作一個說明性示例,但我希望這是一個足夠通用的問題,使其不必要。我不需要特定的代碼,我只想知道我需要做什麼基本步驟才能使地圖在新的容器大小中正常工作。

回答

1

在V2 map.checkResize(),在V3代碼使用這樣的:

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

和獲取地圖容器的大小是這樣的:

var mapDiv = map.getDiv(); 
var size = new google.maps.Size(mapDiv.offsetWidth, mapDiv.offsetHeight); 
+0

謝謝!我從來沒有想過我自己。文檔介於晦澀和不存在之間。 – bcworkz

相關問題