当容器大小调整时如何重新绘制Here地图?

10

今天我遇到了一个奇怪的问题,以前从未遇到或注意到过。在设置 Here Maps 3.0 中的地图时,我注意到,如果浏览器窗口"小",小于全屏幕,加载地图时,地图也将保持小尺寸,即使浏览器窗口调整为全屏幕。

如何更新 Here Maps 地图大小以占用尽可能多的空间?

我的布局如下,我想知道这个原因是否可以是相对的

元素。我之所以有它们,是因为我正在尝试设计带标题、页脚、其他文本的设计,并带有和不带有滚动条(看起来如果页面上有滚动条,则滚动地图会有点抖动)。

<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>
2个回答

22
在地图对象初始化后尝试这个:
window.addEventListener('resize', function () {
    map.getViewPort().resize(); 
});

那应该解决问题了。


2
支持的窗口调整事件似乎是主要方法。然而,在模板页面中,窗口调整事件有时会发生得太早,resize()调用则无法正确调整大小 - 在这一点上,您可能需要为模板库查找“AfterRender”事件,或在调整大小事件后设置超时以使元素调整大小有机会完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接