2015-10-26 2 views
0

Я понятия не имею, как это сделать. Я использую браузер swt для запуска openlayers, у меня была основная функция. Поэтому я хочу захватить координаты, когда я нажимаю на карту.Ждите ответа javascript на SWT-браузер

Я пытаюсь добавить слушателя к виджету браузера, поэтому он вызывает функцию на javascript, которая возвращает координаты мыши, но для чего я могу сказать, что прослушиватель кликов в браузере выполняется сначала, а затем на javascript clik event выполняется, поэтому с первой попытки он возвращает undefined, а затем возвращает клики предварительного просмотра, а не текущий.

Так что часть проблемы заключается в том, что для того, чтобы получить координаты я использую функцию Ol3 получить позицию

Я использую Ol3 функции для установки мыши

map.on('singleclick', function (evt) { 
position = evt.coordinate; 
.... 
}) 

и у меня есть функция возврата позиции, но для изменения требуется некоторое время. Есть ли способ создать что-то вроде обратного вызова, что когда функция в javascript будет выполнена, она вызовет функцию на java, чтобы она могла обновить мое окно?

ответ

1

Вы можете определить функцию в вашем коде, который может быть вызван из JavaScript, используя класс, производный от BrowserFunction:

class MyFunction extends BrowserFunction { 
    MyFunction(Browser browser, String name) { 
    super (browser, name); 
    } 

    @Override 
    public Object function(Object[] arguments) { 
    // Your code 
    } 
} 

name это имя JavaScript для функции.

Подробнее here

Смежные вопросы