Могу ли я использовать Leaflet Draw, чтобы добавить слои к наложенным слоям? - PullRequest
0 голосов
/ 13 мая 2019

Можно ли добавить «целевой оверлей» для панели инструментов «Листовка»?Например, у меня может быть два наложения, такие как Области и Точки интереса.Теперь я хотел бы добавить маркеры только к наложению точек интереса и полигонам наложения областей.

Я пытался выяснить, возможно ли каким-то образом программно активировать наложения или назначить наложение для разных панелей инструментов рисования.но ничто не помогает.Все новые слои добавляются в одно и то же наложение, так как я не могу понять, какая панель инструментов наложения используется.

И, по крайней мере, значение журнала событий консоли не помогает, и я не могу понять, какая панель инструментов былаиспользуется (я мог бы использовать его, чтобы заставить addLayer использовать некоторые чрезмерно), я не могу получить ничего относительно целевого слоя и т. д.

 var poiLayer = new L.FeatureGroup();
var areaLayer = new L.FeatureGroup();

var options = {
  polygon: {
    allowIntersection: false,
    drawError: {
      color: "#e1e100",
      message: "<strong>Lines of a polygon cannot overlap!</strong>"
    },
    shapeOptions: {
      color: "#FF5656"
    }
  },
  polygon: {
    allowIntersection: false,
    drawError: {
      color: "#e1e100",
      message: "<strong>Lines of a polygon cannot overlap!</strong>"
    },
    shapeOptions: {
      color: "#FF5656"
    }
  },
  edit: {
    featureGroup: areaLayer,
    poly: {
      allowIntersection: false
    },
    poly: {
      allowIntersection: false
    },
    poly: {
      allowIntersection: false
    }
  },
  draw: {
    featureGroup: areaLayer,
    name: "dafuq2",

    polygon: {
      allowIntersection: false,
      showArea: true
    },


  },
  name: "namne123123123"
};

//same for the poiLayer

    var drawControl = new L.Control.Draw(options);
map.addControl(drawControl);

var drawControl2 = new L.Control.Draw(options2);
map.addControl(drawControl2);
map.on(L.Draw.Event.CREATED, function(e) {

  console.log(e);
});
...