update Eigenschaften von Geojson, um es mit Faltblatt zu verwenden

Ich muss leaflet.js verwenden, um meiner Site eine Karte hinzuzufügen. Die Site verfügt über eine Verwaltungsansicht, in der ein Administrator Markierungen hinzufügen und jeder Markierung eine Beschreibung und ein Bild hinzufügen kann.

Ich habe das leaflet.draw-Plugin verwendet und beim Erstellen versuche ich, das GeoJSON-Objekt, das ich mit @ erhalten habe, zu aktualisiereevent.layer.toGeoJSON(), um einige Eigenschaften wie Bild und Text hinzuzufügen, aber ohne Glück.

Kann mir jemand dabei helfen?

var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
    osmAttrib = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
    osm = L.tileLayer(osmUrl, {
        maxZoom: 18,
        attribution: osmAttrib
    });

map = new L.Map('map', {
        layers: [osm],
        center: new L.LatLng(31.9500, 35.9333),
        zoom: 15
    }),
    drawnItems = L.geoJson().addTo(map);
map.addControl(new L.Control.Draw({
    edit: {
        featureGroup: drawnItems
    }
}));

map.on('draw:created', function(event) {
    var layer = event.layer;
    var json = event.layer.toGeoJSON();
    json.properties.desc = null;
    json.properties.image = null;
    drawnItems.addLayer(L.GeoJSON.geometryToLayer(json));
    addPopup(layer);
});

function addPopup(layer) {
    var content = '<input id="markerDesc" type="text"/ onblur="saveData(layer);">';
    layer.bindPopup(content).openPopup();
    alert('out');
}

function saveData(layer) {
    var markerDesc = $('#markerDesc').val();
    var json = layer.toGeoJSON();
    json.feature.properties.desc = markerDesc;
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage