Leaflet-Draw:在 'draw:editvertex' 事件中获取多边形 latLng
Leaflet-Draw: Get polygon latLng in 'draw:editvertex' event
当 draw:editvertex
事件触发时,如何获取有关触发它的多边形的信息?
this.map.on('draw:editvertex', function (e) { debugger;
var layers = e.layers;
// I want to get current polygon latLng here
}.bind(this));
这种方法对我有用(但感觉不是最佳实践)–
在我的 draw:editvertex
处理程序中,我遍历 target._layers
并查找 edited
属性:
map.on('draw:editvertex', function(e) {
for (thisLayer in e.target._layers) {
if (e.target._layers.hasOwnProperty(thisLayer)) {
if (e.target._layers[thisLayer].hasOwnProperty("edited")) {
console.log("we think we found the polygon?");
console.log(e.target._layers[thisLayer]);
// the updated Polygon array points are here:
newPolyLatLngArray = e.target._layers[thisLayer].editing.latlngs[0];
}
}
};
});
...就像我说的,这感觉不是很好,但到目前为止它对我有用。
e
不仅有layers
,目标层poly
也很容易接近
map.on('draw:editvertex', function (e) {
var poly = e.poly;
var latlngs = poly.getLatLngs(); // here the polygon latlngs
});
当 draw:editvertex
事件触发时,如何获取有关触发它的多边形的信息?
this.map.on('draw:editvertex', function (e) { debugger;
var layers = e.layers;
// I want to get current polygon latLng here
}.bind(this));
这种方法对我有用(但感觉不是最佳实践)–
在我的 draw:editvertex
处理程序中,我遍历 target._layers
并查找 edited
属性:
map.on('draw:editvertex', function(e) {
for (thisLayer in e.target._layers) {
if (e.target._layers.hasOwnProperty(thisLayer)) {
if (e.target._layers[thisLayer].hasOwnProperty("edited")) {
console.log("we think we found the polygon?");
console.log(e.target._layers[thisLayer]);
// the updated Polygon array points are here:
newPolyLatLngArray = e.target._layers[thisLayer].editing.latlngs[0];
}
}
};
});
...就像我说的,这感觉不是很好,但到目前为止它对我有用。
e
不仅有layers
,目标层poly
也很容易接近
map.on('draw:editvertex', function (e) {
var poly = e.poly;
var latlngs = poly.getLatLngs(); // here the polygon latlngs
});