我正在使用传单地图(Java中的vaadin插件)。我想在地图的控制面板中添加一个侦听器。 传单提供的方法是:
addListener(Class<?> eventType, Object target, Method method)
控制面板包含多个复选框,每个地图图层一个复选框。我想找出单击了哪个图层的复选框。
“方法”来自反思,我是反思的新手。我不知道该怎么写这个监听器。也许有人可以帮忙。我尝试过:
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”。
答案 0 :(得分:0)
一所大学为我指明了正确的方向。侦听器必须添加到vaadin传单地图中。
map.addBaseLayerChangeListener( );
map.addOverlayAddListener( );
map.addOverlayRemoveListener( );