Heim > Web-Frontend > js-Tutorial > Warum wird meine Prospektkarte nicht angezeigt, wenn sie in einer Daten-Umschaltregisterkarte platziert wird?

Warum wird meine Prospektkarte nicht angezeigt, wenn sie in einer Daten-Umschaltregisterkarte platziert wird?

DDD
Freigeben: 2024-11-15 02:48:02
Original
1067 Leute haben es durchsucht

Why does my Leaflet map not display when placed inside a data-toggle tab?

Probleme mit der Broschürenkarte in der Registerkarte „Daten umschalten“

Bei der Verwendung von Registerkarten zum Anzeigen von Inhalten kann es zu Problemen mit einer Broschürenkarte kommen Der Download schlägt fehl, wenn es in einem Datenumschalter platziert wird tab.

Ursache

Das Problem entsteht durch die Art und Weise, wie Leaflet die Kartencontainergröße initialisiert. Wenn die Karte initialisiert wird, liest Leaflet die Containergröße, die später ungültig werden kann, wenn der Container ausgeblendet oder seine Abmessungen geändert werden.

Lösung

Um dieses Problem zu beheben Problem: Sie müssen die Containergröße manuell aktualisieren, nachdem die Registerkarte angezeigt wird. Dies kann mit der Methode „map.invalidateSize()“ erreicht werden.

Implementierung

Fügen Sie in Ihrem JavaScript-Code einen Listener zum Klickereignis der Tab-Schaltfläche hinzu, um die Karte auszulösen Update:

$(document).ready(function () {
    var map = new L.Map('carteBenef');
    // ... (rest of your code)
    
    // Add listener to tab button click
    $('#carteTabButton').on('click', function () {
        map.invalidateSize();
    });
});
Nach dem Login kopieren

Alternativ können Sie Framework-spezifische Methoden verwenden, um die Kartenaktualisierung basierend auf der Sichtbarkeit der Registerkarte auszulösen. In Bootstrap können Sie beispielsweise das Ereignis „showned.bs.tab“ verwenden:

$('#carteTab').on('shown.bs.tab', function () {
    map.invalidateSize();
});
Nach dem Login kopieren

Indem Sie die Größe des Kartencontainers aktualisieren, nachdem die Registerkarte angezeigt wird, können Sie sicherstellen, dass die Leaflet-Karte innerhalb der korrekt heruntergeladen und gerendert wird Tab.

Das obige ist der detaillierte Inhalt vonWarum wird meine Prospektkarte nicht angezeigt, wenn sie in einer Daten-Umschaltregisterkarte platziert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage