在Vaadin(Java)的传单加载项图中将侦听器添加到LayersControl中

时间:2019-01-28 16:06:14

标签: java leaflet listener vaadin8

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

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

控制面板包含多个复选框,每个地图图层一个复选框。我想找出单击了哪个图层的复选框。

map with control panel

“方法”来自反思,我是反思的新手。我不知道该怎么写这个监听器。也许有人可以帮忙。我尝试过:

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

“ LMTBLayer”是地图图层。 “ field.getMap()。getLayersControl()”返回控制面板。 “ layers.getMtbLayer()”返回实际的图层对象。但是永远不会调用方法“ receiveClick”。

1 个答案:

答案 0 :(得分:0)

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

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