включение редактирования и изменения цвета многоугольника после выбора его слоя в листовке ngx - PullRequest
0 голосов
/ 07 ноября 2019

впервые публикуется здесь. Я нахожусь в проекте, использующем 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 

  }

спасибо, извините, английский не мой родной язык.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...