Добавление прослушивателя в LayersControl в карте дополнений для листовок в Vaadin (Java) - PullRequest
0 голосов
/ 28 января 2019

Я использую карту листовки (vaadin addon в Java).Я хотел бы добавить слушателя в панель управления карты.Метод, представленный в листовке:

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 голосов
/ 30 января 2019

Колледж указал мне правильное направление.Слушатели должны быть добавлены на карту листовки vaadin.

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