我在我的應用程序中使用Leafletjs和Google地圖切片。這是我的HTML標記:Leafletjs map - map.invalidateSize不起作用
<div class="map-wrap" style="display: none;">
<div id="map"></div>
</div>
<div class="rightNav">
<a href="#" onclick="$.expandMap();">Expand Map</a>
</div>
在JavaScript文件中,我有以下代碼:
$.expandMap = function() {
if ($(".rightNav").is(':visible')){
$(".map-wrap").animate({width:'70%'},'400');
$(".rightNav").hide(0);
map.invalidateSize();
//L.Util.requestAnimFrame(map.invalidateSize, map, false, map._container);
}
}
地圖容器膨脹的罰款。但地圖沒有擴大。 map.invalidateSize不擴展地圖或填充外部div(容器)。 L.Util.requestAnimFrame(map.invalidateSize,map,false,map._container);也失敗了。
但是,如果我稍微調整瀏覽器窗口的大小,映射將填充外部容器。
所以我想我會嘗試使用jQuery以編程方式模擬窗口大小調整。但也沒有擴大地圖。
請讓我知道我做錯了什麼。
map.invalidateSize(true);爲我工作,而不是設置超時 – har
謝謝你的工作如此偉大 –