将现有传单多边形添加到现有传单层
Add existing leaflet polygons to an existing leaflet layer
我有一堆存储在数据库中的多边形。我想将它们添加到地图中,以便可以使用 leaflet-draw 工具栏对其进行编辑。虽然,现在多边形已添加到地图中,但我无法编辑它们。
我认为这是因为它们没有添加到添加了新绘制形状的 layerGroup()
中。
请帮忙。
您必须将多边形添加到要素组 drawnItems
!比方说,
var polyLayers = dbArray;
是你的多边形数据库数组。首先用您绘制的项目创建一个功能组:
var drawnItems = new L.FeatureGroup();
并将其添加到地图中:
map.addLayer(drawnItems);
然后您只需从数据库中遍历多边形并将它们添加到 drawnItems FeatureGroup
:
for(layer of polyLayers) {
drawnItems.addLayer(layer);
};
现在图层已添加到地图并可编辑。
这是一个 EXAMPLE:
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
var polyLayers = [];
var polygon1 = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]);
polyLayers.push(polygon1)
var polygon2 = L.polygon([
[51.512642, -0.099993],
[51.520387, -0.087633],
[51.509116, -0.082483]
]);
polyLayers.push(polygon2)
// Add the layers to the drawnItems feature group
for(let layer of polyLayers) {
drawnItems.addLayer(layer);
}
我有一堆存储在数据库中的多边形。我想将它们添加到地图中,以便可以使用 leaflet-draw 工具栏对其进行编辑。虽然,现在多边形已添加到地图中,但我无法编辑它们。
我认为这是因为它们没有添加到添加了新绘制形状的 layerGroup()
中。
请帮忙。
您必须将多边形添加到要素组 drawnItems
!比方说,
var polyLayers = dbArray;
是你的多边形数据库数组。首先用您绘制的项目创建一个功能组:
var drawnItems = new L.FeatureGroup();
并将其添加到地图中:
map.addLayer(drawnItems);
然后您只需从数据库中遍历多边形并将它们添加到 drawnItems FeatureGroup
:
for(layer of polyLayers) {
drawnItems.addLayer(layer);
};
现在图层已添加到地图并可编辑。
这是一个 EXAMPLE:
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
var polyLayers = [];
var polygon1 = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]);
polyLayers.push(polygon1)
var polygon2 = L.polygon([
[51.512642, -0.099993],
[51.520387, -0.087633],
[51.509116, -0.082483]
]);
polyLayers.push(polygon2)
// Add the layers to the drawnItems feature group
for(let layer of polyLayers) {
drawnItems.addLayer(layer);
}