2014-10-04 22 views
4

今天我遇到了一個我從未遇到或注意過的奇怪問題。在Here Maps 3.0中設置地圖時,我注意到如果瀏覽器窗口小於全屏,則在加載地圖時,即使將瀏覽器窗口調整爲一個全屏幕。如何在這裏重繪容器調整大小時的地圖?

如何更新Here Maps地圖大小以佔用分配的空間量?

我的安排如下,我不知道這可能是相對的div s。我擁有它們的原因是,我正在嘗試使用包含頁眉,頁腳和其他帶有和不帶滾動條的文本的設計(並且如果頁面上存在滾動條,滾動地圖看起來會有點緊張)。

<style type="text/css"> 
    #mapContainer { 
     width: 100%; 
     height: 100%; 
     left: 0; 
     top: 0; 
     position: absolute; 
     background: grey; 
    } 

    #main { 
     position: relative; 
     width: 100%; 
     height: 100%; 
    } 

    html, body { 
     overflow-y: hidden; 
    }  
</style> 

<div id="main"> 
    <div id="mapContainer"></div> 
</div> 

回答

10

試試這個地圖對象初始化後:

window.addEventListener('resize', function() { 
    map.getViewPort().resize(); 
}); 

這應該解決的問題。

+0

這確實有助於 – eljefedelrodeodeljefe 2016-02-18 17:11:51

0

由支持提到的窗口大小調整事件似乎是主要方法。但是,在模板頁面中,窗口調整大小事件有時會過早發生,並且resize()調用尚未具有正確的大小調整 - 此時您可能需要爲模板庫查找「AfterRender」事件,或者失敗從resize事件中設置一個超時,以使元素調整大小完成的機會。

相關問題