впервые публикуется здесь. Я нахожусь в проекте, использующем Angular7, использующем угловую директиву для leaflet (ngx-leaflet) и leaflet.draw (ngx-leaflet-draw), и пытаюсь редактировать отдельный многоугольник, когда он щелкает, в основном, когда нажимается многоугольник,я сохраняю объект события в переменной, и когда я нажимаю пользовательскую кнопку редактирования, этот полигон, сохраненный щелчком, должен изменить цвет заливки и сделать редактируемые точки
все созданные полигоны вызывает функцию clickInPolygon, когдащелкнул по моему component.ts
const newPoli = L.polygon(points,
{
color: '#1DB954',
fillColor: '#1DB954',
fillOpacity: 0.2
}
).addTo(this.allDrawnItems);
newPoli.on({
click: (function (ev) {
this.clickInPolygon(ev);
}).bind(this)
});
, и эта функция сохраняет последний полигон, который щелкнул в переменной
public clickInPolygon(e: any) {
this.polygonClicked = e;
}
в моем component.html, когда я нажимаю в редакторе, эта функция вызывается
public startEdit(){
this.editPolygon(this.polygonClicked);
}
здесь следует начать процесс редактирования и изменить цвет
public editPolygon(poly){
if(poly == null)
return;
this.polyToAnalyze.push(poly);
var layerWithPoly = this.allDrawnItems.getLayer(this.poly.target._leaflet_id);
//i need to get the polygon contained in that layerWithPoly variable, enable his edit mode and change his fill color
}
спасибо, извините, английский не мой родной язык.