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的控件)
我想那是没有必要的。如果您有一个用例表明这是一个问题,那么您应该打开一个
所以,恐怕你已经有了正确的答案