我想选择一个创建的多边形,通过leaflet.draw通过单击创建。这就是我实施的方式leaflet.draw
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
// Initialise the draw control and pass it the FeatureGroup of editable layers
var drawControl = new L.Control.Draw({
edit: {
featureGroup: drawnItems
}
});
map.addControl(drawControl);
// event when polygon is created
map.on('draw:created', function(e) {
var type = e.layerType,
layer = e.layer;
// add created polygon to Itemcollection
drawnItems.addLayer(layer);
// add to map
map.addLayer(layer);
});
然后我想知道我点击了哪个多边形。我对each.layer执行此操作
drawnItems.eachLayer(function(layer) {
layer.on('click', function() {
console.log(this._leaflet_id);
});
});
但是,这永远不会返回任何东西。当我替换drawnItems
为map
map.eachLayer(function(layer) {
layer.on('click', function() {
console.log(this._leaflet_id);
});
});
它有效——有点。但它总是返回相同的id
,即使我点击不同的多边形......hickup 在哪里?