我不知道该怎么做。我正在使用 swt 浏览器来运行 openlayers ,我有一些基本功能。所以我想捕获我在 map 上点击的坐标。
我尝试向浏览器小部件添加一个监听器,因此它调用 javascript 上的一个函数来返回鼠标的坐标,但据我所知,浏览器上的单击监听器首先执行,然后在 javascript 上执行 clik事件被执行,因此在第一次尝试时它返回未定义,然后返回预览点击,而不是当前点击。
所以问题的一部分是为了获取坐标,我使用 ol3 函数来获取位置
我正在使用ol3函数来设置鼠标点击
map.on('singleclick', function (evt) {
position = evt.coordinate;
....
})
我有一个返回位置的函数,但需要一段时间才能改变位置。 有没有办法创建类似回调的东西,当 javascript 中的函数完成时,它将调用 java 上的函数,以便它可以更新我的窗口?
最佳答案
您可以在代码中定义一个函数,可以使用从 BrowserFunction
派生的类从 JavaScript 调用该函数:
class MyFunction extends BrowserFunction {
MyFunction(Browser browser, String name) {
super (browser, name);
}
@Override
public Object function(Object[] arguments) {
// Your code
}
}
name
是函数的 JavaScript 名称。
更多详情here
关于javascript - 在 SWT 浏览器上等待 javascript 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33350787/