Leaflet 从贴图对象获取图层控件

Leaflet 从贴图对象获取图层控件,leaflet,Leaflet,假设我在地图上添加一个对象,如下所示: L.control.layers(baseLayers, overlays).addTo(someMap) 当我后来得到someMap对象时,从中获得图层控制的正确方法是什么?我希望有这样的事情: let controls = someMap.getControls(); 。。。这样我就可以迭代并使用typeof操作符来找到我感兴趣的控件 我在回答这个问题时发现的最接近的方法是,这建议扩展L.Control类并重写onAdd,以便在map对象上存储自定

假设我在地图上添加一个对象,如下所示:

L.control.layers(baseLayers, overlays).addTo(someMap)
当我后来得到
someMap
对象时,从中获得图层控制的正确方法是什么?我希望有这样的事情:

let controls = someMap.getControls();
。。。这样我就可以迭代并使用
typeof
操作符来找到我感兴趣的控件

我在回答这个问题时发现的最接近的方法是,这建议扩展
L.Control
类并重写
onAdd
,以便在
map
对象上存储自定义属性。我觉得很难相信它需要如此复杂。另外,即使采用了这种方法,我怎么知道我被重写的
onAdd
方法所做的一切都是原始层
控件中的实现所做的?

按照这种方式,向贴图添加控件只会让控件对象参照贴图对象

这意味着map对象不知道它所创建的控件(编辑我应该说:添加到map的控件)

我想那是没有必要的。如果您有一个用例表明这是一个问题,那么您应该打开一个

所以,恐怕你已经有了正确的答案