2016-07-20 12 views
1

Unten ist mein Code zum Erstellen von Polygon, ich möchte dies editierbar zu machen, ich habe "editierbar: True" -Option zu Karte übergeben. Aber noch Form ist nicht editierbar.Erstellen Sie editierbare Polygon und nach der Bearbeitung erhalten Sie die bearbeitete Lat Lng in jedem Fall

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

Sie wollen nicht, dass Sie das Polygon editierbar machen? Wahrscheinlich müssen Sie im Polygonkonstruktor statt des Kartenkonstruktors die Datei "editierbar: wahr" übergeben. – geocodezip

+0

habe ich auch getan, aber es funktioniert nicht. – Kalashir

+2

Leaflet unterstützt keine bearbeitbaren Formen, Sie benötigen eine zusätzliche Bibliothek (z. B. [Leaflet.Editable] (https://github.com/Leaflet/Leaflet.Editable)) –

Antwort