I am using a leaflet map (vaadin addon in Java). I would like to add a listener the the control panel of the map. The method provided by leaflet is:
addListener(Class<?> eventType, Object target, Method method)
The control panel contains several checkboxes, one checkbox for each map layer. I would like to find out which layers checkbox was clicked.
"Method" is from reflection and I am new to reflection. I don't know how to write this Listener. Maybe someone could help. I tried:
Method m = Class.forName(LMTBLayer.class.getName()).getDeclaredMethod("receiveClick");
field.getMap().getLayersControl().addListener(MouseEvents.ClickEvent.class,layers.getMtbLayer(), m);
"LMTBLayer" is a map layer. "field.getMap().getLayersControl()" returns the control panel. "layers.getMtbLayer()" returns the actual layer object. But the method "receiveClick" is never invoked.
A college pointed me into the right direction. The listeners have to be added to the vaadin leaflet map.
map.addBaseLayerChangeListener( );
map.addOverlayAddListener( );
map.addOverlayRemoveListener( );