Когда срабатывает событие 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
, как я могу получить информацию о полигоне, вызвавшем его?
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
});