Leaflet-Draw:在“draw:editvertex”事件中获取多边形 latLng

Kal*_*hir 7 geojson leaflet mapbox leaflet.draw

draw:editvertex事件触发时,如何获取有关触发它的多边形的信息?

this.map.on('draw:editvertex', function (e) { debugger;
    var layers = e.layers;
    // I want to get current polygon latLng here
}.bind(this));
Run Code Online (Sandbox Code Playgroud)

AKA*_*AKA 3

这种方法对我有用(但感觉不是最佳实践)\xe2\x80\x93

\n\n

在我的draw:editvertex处理程序中,我循环target._layers并查找edited属性:

\n\n
map.on(\'draw:editvertex\', function(e) {\n    for (thisLayer in e.target._layers) {\n        if (e.target._layers.hasOwnProperty(thisLayer)) {\n            if (e.target._layers[thisLayer].hasOwnProperty("edited")) {\n                console.log("we think we found the polygon?");\n                console.log(e.target._layers[thisLayer]);\n\n                // the updated Polygon array points are here:\n                newPolyLatLngArray = e.target._layers[thisLayer].editing.latlngs[0];\n            }\n        }\n    };\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

...就像我说的,这感觉不太好,但到目前为止它对我有用。

\n