Suite

Comment ajouter des couches et mettre à jour le contrôle des couches de manière dynamique : brochure

Comment ajouter des couches et mettre à jour le contrôle des couches de manière dynamique : brochure


introduction

Je travaille avec le dépliant api, où l'utilisateur peut dessiner des formes sur une carte (image)…

Initialement, le contrôle de couche (gestion de 1 couche) est ajouté pour la carte de base à l'aide d'imageoverlay…

Problème

Maintenant, j'ai ajouté un bouton d'identifiantnewLyerà la page où l'événement de clic gère la création d'un nouveau calque… c'est-à-dire que l'utilisateur peut créer un nouveau calque et mettre à jour le contrôle des calques (qui gère maintenant 2 calques)…

J'ai utilisé plusieurs méthodes pour créer les calques et ajouter au contrôle mais j'ai échoué…

Ajout d'un nouveau calque à layerGroup

var layerGroup = new L.LayerGroup(), imageOverlayUrl = 'aa.jpg">

Il existe des méthodes publiques dansL.Contrôle.Calquescontrôle pour ajouter des couches de base et des superpositions dynamiquement (voir référence complète):

  • addBaseLayer(calque, nom)pour ajouter une nouvelle couche de base
  • addOverlay(calque, nom)pour ajouter une nouvelle superposition

Ainsi, lorsque l'utilisateur clique sur un bouton, vous créez un nouveau calque et l'ajoutez simplement à un contrôle :

$('#newLayer').click(function addNewLayer() { //créer un nouveau calque var imageOverlayNew = new L.imageOverlay(imageOverlayUrlNew, bounds); // l'ajouter à un contrôle layerControl.addOverlay(imageOverlayNew, newLayerName); } );

Et on dirait que vous n'avez pas besoin d'utiliserL.LayerGroupici…


Voir la vidéo: Silmukoiden lisääminen kerroksen keskella