我创建了一个管理界面,用户可以在其中添加一些标记(医院,学校),现在我想扩展该应用程序以绘制多边形(公园,某些区域)。问题是我成功连接了地图,可以绘制多边形,但是无法获取坐标并将其添加到数据库中。我怎样才能做到这一点?谢谢!
最佳答案
您可以尝试以下方法: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');
}
您只需要适应数据库的最后一部分。