如何将一个传单标记添加到多个图层组?

use*_*389 5 javascript leaflet

我通过以下方式将标记添加到图层组:

var lGroup1 = new L.FeatureGroup(),
    lGroup2 = new L.FeatureGroup(),
    lGroup3 = new L.FeatureGroup();

new compMarker([50.07045,8.24660]).bindPopup('<p>Something</p>').addTo(lGroup1).on('click', onClick);
new compMarker([50.07045,8.24660]).bindPopup('<p>Something</p>').addTo(lGroup2).on('click', onClick);
new compMarker([50.07045,8.24660]).bindPopup('<p>Something</p>').addTo(lGroup3).on('click', onClick);
Run Code Online (Sandbox Code Playgroud)

如您所见,我在三个图层组中添加了一个相同的标记(相同的内容)。有没有办法在不产生三个相同标记的情况下做到这一点?我想添加一个,但是添加到多个图层组中。

我已经尝试过了,没有运气:

new compMarker([50.07045,8.24660]).bindPopup('<p>Something</p>').addTo(lGroup1,lGroup2,lGroup3).on('click', onClick);
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Jay*_*y Z 0

const marker = m;
group1 = L.layerGroup();....

group1.addLayer(marker);
group2.addLayer(marker);
group3.addLayer(marker);

group1.hasLayer(marker) == true;
Run Code Online (Sandbox Code Playgroud)

将标记分配给变量,并将该标记添加到多个图层组中。然后您可以使用 hasLayer 检查它们是否在所述图层组中。

  • 请提供的不仅仅是代码作为答案。相反,对代码的解释以及对它回答问题的原因的细分是最有益的。 (2认同)