我创建了一个管理界面,用户可以在其中添加一些标记(医院,学校),现在我想扩展该应用程序以绘制多边形(公园,某些区域)。问题是我成功连接了地图,可以绘制多边形,但是无法获取坐标并将其添加到数据库中。我怎样才能做到这一点?谢谢!

最佳答案

您可以尝试以下方法:https://bl.ocks.org/danswick/d30c44b081be31aea483

有趣的部分:

var featureGroup = L.featureGroup().addTo(map);

var drawControl = new L.Control.Draw({
    edit: {
        featureGroup: featureGroup
    }
}).addTo(map);

map.on('draw:created', function(e) {

    // Each time a feature is created, it's added to the feature group
    featureGroup.addLayer(e.layer);
});

// When you click on the button export
document.getElementById('export').onclick = function(e) {
    // Extract GeoJson from featureGroup
    var data = featureGroup.toGeoJSON();

    // Stringify the GeoJson
    var convertedData = 'text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data));

    // Create export
    document.getElementById('export').setAttribute('href', 'data:' + convertedData);
    document.getElementById('export').setAttribute('download','data.geojson');
}


您只需要适应数据库的最后一部分。

10-02 15:55