0

Je travaille avec l'api lealflet, où l'utilisateur peut dessiner des formes à carte (image) ...Comment ajouter des couches et le contrôle de la mise à jour de la couche dynamique: brochure

Dans un premier temps le contrôle de la couche (manipulation 1 couche) est ajouté pour carte de base à l'aide de imageoverlay ......

J'ai ajouté un bouton d'id « newLyer » à la page où cliquez sur l'événement gère la création d'une nouvelle couche ..... par exemple l'utilisateur peut créer un nouveau calque et de contrôle mise à jour de la couche (qui gère maintenant 2 couches) ....

Je l'ai utilisé plusieurs méthodes pour créer les couches et en ajoutant à contrôler , mais a échoué ....

Ajout d'une nouvelle couche à

Groupe de calques
var layerGroup = new L.LayerGroup(), 
        imageOverlayUrl = 'aa.jpg', 
        // New imageoverlay added to the layergroup 
        imageOverlay = new L.ImageOverlay(imageOverlayUrl, bounds).addTo(layerGroup), 
        // New featuregroup added to the layergroup 
        featureGroup = new L.FeatureGroup().addTo(layerGroup); 

LayerControl où je devais ajouter le contrôle (si je suis correct)

 var layerControl = new L.control.layers({ 
      'Main': layerGroup, 
      //here i need to add new layer control 
      }, null, { collapsed: false }).addTo(map); 

fonction OnClick avec le code statique jusqu'à présent, il sera exécuté sur un clic

 $('#newLayer').click(function addNewLayer() { 
      // Second layergroup not added to the map yet 
      var layerGroupNew = new L.LayerGroup(), 
       imageOverlayUrlNew = 'bb.png', 
       // New imageoverlay added to the second layergroup 
       imageOverlayNew = new L.imageOverlay(imageOverlayUrlNew, bounds).addTo(layerGroup2), 
       // New featuregroup added to the second layergroup 
       featureGroupNew = new L.FeatureGroup().addTo(layerGroupNew); 
     }); 

En bref

Dans un premier temps, j'ai une couche avec son contrôle, fonctionne maintenant onclick crée la nouvelle couche qui sera ajouté à la carte, mais comment je peux ajouter cette couche en layerControl ....

Si quelqu'un a idée sur la façon de faire ce genre de chose, s'il vous plaît faire l'aide ,,,, sera apprécié tout type d'aide ou de référence .... Merci pour votre temps

Répondre

2

Si vous regardez la documentation L.Control.Layers:

http://leafletjs.com/reference.html#control-layers

Vous verrez que L.Control.Layers a une méthode addBaseLayer:

http://leafletjs.com/reference.html#control-layers-addbaselayer

ajoute une couche de base (bouton radio entrée) avec le nom donné au contrôle.

Ainsi vous pouvez faire:

layerControl.addBaseLayer(newBaseLayer, 'My New BaseLayer'); 

Et vous êtes bon d'aller. Comme vous le voyez, vous auriez pu vous épargner la peine d'afficher cette question si vous aviez jeté un coup d'œil au reference. La notice est très bien documentée. J'ai personnellement appris le plus que je sais sur Leaflet en lisant complètement les documents une fois sur deux. Bonne chance pour votre projet, bravo!

+0

vous êtes super-héros merci pour la réponse, je l'ai lu certains et manqué un peu et compris peu que je suis nouveau js ,,, mon erreur ...... –