在 Vaadin 的传单插件映射中向 LayersControl 添加监听器 (Java)

Adding a Listener to the LayersControl in a leaflet addon map in Vaadin (Java)

我正在使用传单地图(Java 中的 vaadin 插件)。我想在地图的控制面板中添加一个监听器。 leaflet提供的方法是:

addListener(Class<?> eventType, Object target, Method method)

控制面板包含多个复选框,每个地图层一个复选框。我想知道点击了哪些图层复选框。

"Method" 来自反射,我是反射的新手。不知道怎么写这个Listener。也许有人可以提供帮助。我试过了:

Method m = Class.forName(LMTBLayer.class.getName()).getDeclaredMethod("receiveClick");
field.getMap().getLayersControl().addListener(MouseEvents.ClickEvent.class,layers.getMtbLayer(), m);

"LMTBLayer"是地图层。 "field.getMap().getLayersControl()" returns 控制面板。 "layers.getMtbLayer()" returns 实际图层对象。但是方法 "receiveClick" 从未被调用。

一所大学为我指明了正确的方向。必须将侦听器添加到 vaadin 传单映射中。

map.addBaseLayerChangeListener( );
map.addOverlayAddListener( );
map.addOverlayRemoveListener( );