【发布时间】:2016-10-17 13:59:38
【问题描述】:
我想选择一个已创建的多边形,通过单击通过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);
});
});
但是,它永远不会返回任何东西。
当我用map替换drawnItems时
map.eachLayer(function(layer) {
layer.on('click', function() {
console.log(this._leaflet_id);
});
});
它有效 - 有点。它总是返回相同的id,即使我点击不同的多边形...hickup 在哪里?
【问题讨论】:
标签: javascript leaflet leaflet.draw