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
DDDOriginal
2024-11-15 02:48:021071Durchsuche

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();
    });
});

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();
});

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!

Stellungnahme:
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