Maison > interface Web > js tutoriel > le corps du texte

Pourquoi ma carte de dépliant ne parvient-elle pas à se charger dans un onglet de basculement de données ?

Barbara Streisand
Libérer: 2024-11-24 18:50:45
original
961 Les gens l'ont consulté

Why Does My Leaflet Map Fail to Load in a Data-Toggle Tab?

La carte de dépliants ne se charge pas dans l'onglet de basculement de données

Problème

Dans une interface à onglets, une carte de dépliant dans un onglet de basculement de données échoue charger correctement.

Code

Barre de navigation :

<ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#home">Données principales</a></li>
    <li><a data-toggle="tab" href="#carte">Carte</a></li>
</ul>
Copier après la connexion

Div de contenu :

<div class="tab-content">
    <div>
Copier après la connexion

Dépliant Script :

var map = new L.Map('carteBenef');
// Configure the map here
Copier après la connexion

Cause

Le problème survient car Leaflet lit la taille du conteneur de carte lors de l'initialisation. Lorsque la carte est placée dans un onglet masqué, la taille du conteneur n'est pas encore valide, ce qui entraîne un chargement incomplet des tuiles.

Solution

Pour résoudre ce problème, vous pouvez déclencher manuellement une mise à jour de la taille de la carte lorsque l'onglet contenant la carte s'affiche. Ceci peut être réalisé en appelant map.invalidateSize() sur l'événement d'activation de l'onglet.

Exemple :

$('a[href="#carte"]').on('shown.bs.tab', function () {
    map.invalidateSize(true);
});
Copier après la connexion

Cela forcera Leaflet à réévaluer la taille du conteneur de carte et à charger correctement le tuiles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal