Ich benutze Leafletjs mit Google Map Kacheln in meiner Anwendung. Hier ist mein HTML-Markup:Leafletjs map - map.invalidateSize funktioniert nicht
<div class="map-wrap" style="display: none;">
<div id="map"></div>
</div>
<div class="rightNav">
<a href="#" onclick="$.expandMap();">Expand Map</a>
</div>
in der JavaScript-Datei, ich habe den folgenden Code:
$.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);
}
}
Der Kartencontainer erweitert Ordnung. Aber die Karte expandiert nicht. map.invalidateSize erweitert die Karte nicht oder füllt das äußere div (Container) nicht. L.Util.requestAnimFrame (map.invalidateSize, Karte, false, map._container); auch gescheitert.
Wenn ich jedoch das Browserfenster ein wenig verkleinere, füllt die Karte den äußeren Container.
Also dachte ich, ich würde versuchen, die Fenstergrößenänderung programmgesteuert mit jQuery zu simulieren. Aber das hat auch die Karte nicht erweitert.
Bitte lassen Sie mich wissen, was ich falsch mache.
map.invalidateSize (true); arbeitete für mich., Anstatt eine Auszeit zu setzen. – har
Danke, dass so toll gearbeitet hat –