Zur Erklärung. Die Karte kriegt im mapset-Aufruf eine schicke und garantiert eindeutige ID, die zudem in der PHP-Variablen $map_id steht. Über die ID kann der -Tag später einfach lokalisiert werden. Und das passiert dann auch beim Anzeigen des Tabs (let container = document.getElementById(\''.$map_id.'\');). Im -Tag (Node in die Variable container geschrieben) steht unter container.__rmMap auch die Leaflet-Karte (container.__rmMap.map). Also alles da, Map und Container. Versuch doch erst mal, ob ein simples invalidateSize()ausreicht, sonst die komplizierte Version. (ungetestet)
Zur Erklärung. Die Karte kriegt im mapset-Aufruf eine schicke und garantiert eindeutige ID, die zudem in der PHP-Variablen-Tag später einfach lokalisiert werden. Und das passiert dann auch beim Anzeigen des Tabs (-Tag (Node in die Variable container geschrieben) steht unter
$map_id
steht. Über die ID kann derlet container = document.getElementById(\''.$map_id.'\');
). Imcontainer.__rmMap
auch die Leaflet-Karte (container.__rmMap.map
). Also alles da, Map und Container. Versuch doch erst mal, ob ein simplesinvalidateSize()
ausreicht, sonst die komplizierte Version. (ungetestet)