leaflet.draw保存数据
时间: 2024-01-10 22:21:34 浏览: 191
Leaflet.draw
你可以使用Leaflet.draw插件来保存绘制的数据。以下是一个示例代码,演示如何使用Leaflet.draw保存绘制的多边形数据:
```javascript
// 创建地图
var map = L.map('map').setView([51.505, -0.09], 13);
// 添加地图图层
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',
maxZoom: 18,
}).addTo(map);
// 创建绘制控件
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
// 创建绘制选项
var drawOptions = {
position: 'topright',
draw: {
polygon: true,
polyline: false,
rectangle: false,
circle: false,
marker: false,
},
edit: {
featureGroup: drawnItems,
remove: true,
},
};
// 添加绘制控件
var drawControl = new L.Control.Draw(drawOptions);
map.addControl(drawControl);
// 监听绘制完成事件
map.on(L.Draw.Event.CREATED, function (event) {
var layer = event.layer;
drawnItems.addLayer(layer);
});
// 监听编辑完成事件
map.on(L.Draw.Event.EDITED, function (event) {
var layers = event.layers;
layers.eachLayer(function (layer) {
// 处理编辑后的图层
});
});
// 监听删除完成事件
map.on(L.Draw.Event.DELETED, function (event) {
var layers = event.layers;
layers.eachLayer(function (layer) {
// 处理删除后的图层
});
});
```
这段代码创建了一个Leaflet地图,并添加了Leaflet.draw插件。当用户绘制多边形时,绘制的图形将被保存在`drawnItems`图层组中。你可以在绘制完成事件、编辑完成事件和删除完成事件中处理保存、编辑和删除后的图层数据。
阅读全文