2016-07-20 6 views
1

Voici mon code pour créer un polygone, je veux le rendre modifiable, j'ai passé l'option "editable: true" pour mapper. Mais la forme n'est toujours pas modifiable.Créer un polygone éditable et après l'éditer obtenir le lat lng édité dans tous les cas

this.map = L.mapbox.map('map', null, {editable: true}).setView(DEFAULT_LAT_LONG, DEFAULT_ZOOM); 
    this.drawnItems = L.featureGroup().addTo(this.map); 
    this.drawControl = new L.Control.Draw({ 
     position: 'topright', 
     draw: { 
      polygon: { 
       shapeOptions: CONSTANTS.POLYGON_OPTION, 
       allowIntersection: false, 
       drawError: { 
        color: 'orange', 
        timeout: 1000 
       }, 
       showArea: true, 
       metric: false, 
       repeatMode: false 
      } 
     }, 
     edit: { 
      featureGroup: this.drawnItems 
     } 
    }); 
    this.drawHandler = new L.Draw.Polygon(this.map,this.drawControl.options.draw.polygon); 
    this.drawHandler.enable(); 
    this.map.on('draw:created', function(e) { 
     this.drawnItems.addLayer(e.layer); 
     this.calculateArea(e.layer); 
     this.mapState = MAP_STATE.NONE; 
    }.bind(this)); 
+0

Vous ne voulez pas faire le polygone modifiable? Vous devez probablement passer le 'editable: true' dans le constructeur polygone plutôt que dans le constructeur de la carte. – geocodezip

+0

J'ai aussi fait ça, mais ça ne marche pas. – Kalashir

+2

Le dépliant ne supporte pas les formes modifiables, vous aurez besoin d'une bibliothèque supplémentaire (par exemple [Leaflet.Editable] (https://github.com/Leaflet/Leaflet.Editable)) –

Répondre