我正在使用 https://github.com/Leaflet/Leaflet.draw插件,我试图找出如何检索编辑图层的图层类型。 在绘制:创建的事件,我有层和layerType,但在绘制:编辑(触发时保存所有编辑)我得到一个列
在绘制:创建的事件,我有层和layerType,但在绘制:编辑(触发时保存所有编辑)我得到一个列表的编辑的层。
draw:created事件
map.on('draw:created', function (e) { var type = e.layerType, layer = e.layer; if (type === 'marker') { // Do marker specific actions } // Do whatever else you need to. (save to db, add to map etc) map.addLayer(layer); });
draw:edited事件
map.on('draw:edited', function (e) { var layers = e.layers; layers.eachLayer(function (layer) { //do stuff, but I can't check which type I'm working with // the layer parameter doesn't mention its type }); });
感谢您的时间。
你可以使用instanceof (docs here)。map.on('draw:edited', function (e) { var layers = e.layers; layers.eachLayer(function (layer) { if (layer instanceof L.Marker){ //Do marker specific actions here } }); });