Karte: CSS-Load abwarten + invalidateSize (schwarze Karte fix)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
85bab155cb
commit
67eb515c35
1 changed files with 12 additions and 5 deletions
|
|
@ -84,6 +84,8 @@ window.Page_poison = (() => {
|
||||||
|
|
||||||
await _loadLeaflet();
|
await _loadLeaflet();
|
||||||
_initMap();
|
_initMap();
|
||||||
|
// Leaflet muss nach CSS-Load die Container-Größe neu berechnen
|
||||||
|
setTimeout(() => _map?.invalidateSize(), 100);
|
||||||
await _locateAndLoad();
|
await _locateAndLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,13 +95,18 @@ window.Page_poison = (() => {
|
||||||
async function _loadLeaflet() {
|
async function _loadLeaflet() {
|
||||||
if (_leafletLoaded || window.L) { _leafletLoaded = true; return; }
|
if (_leafletLoaded || window.L) { _leafletLoaded = true; return; }
|
||||||
|
|
||||||
if (!document.querySelector('link[href*="leaflet"]')) {
|
// CSS laden und auf onload warten — sonst kennt Leaflet die Container-Größe nicht
|
||||||
const link = document.createElement('link');
|
await new Promise(resolve => {
|
||||||
link.rel = 'stylesheet';
|
if (document.querySelector('link[href*="leaflet"]')) { resolve(); return; }
|
||||||
link.href = 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.css';
|
const link = document.createElement('link');
|
||||||
|
link.rel = 'stylesheet';
|
||||||
|
link.href = 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.css';
|
||||||
|
link.onload = resolve;
|
||||||
|
link.onerror = resolve; // weiter auch wenn CDN nicht erreichbar
|
||||||
document.head.appendChild(link);
|
document.head.appendChild(link);
|
||||||
}
|
});
|
||||||
|
|
||||||
|
// JS laden
|
||||||
await new Promise((resolve, reject) => {
|
await new Promise((resolve, reject) => {
|
||||||
if (document.querySelector('script[src*="leaflet"]')) { resolve(); return; }
|
if (document.querySelector('script[src*="leaflet"]')) { resolve(); return; }
|
||||||
const s = document.createElement('script');
|
const s = document.createElement('script');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue