我正在尝试在gwt-openlayers中捕获鼠标事件。 以下处理程序确实接收事件,但我是 无法从EventObject对象中提取鼠标位置。 有人可以帮忙吗?
mapPanel.getMap().getEvents().register("mousemove", mapPanel.getMap(), new EventHandler() {
@Override
public void onHandle(EventObject eventObject) {
// how to obtain mouse position ?
}
});
此外,还有另一种接收鼠标移动事件的方法吗?我可以拦截吗? MousePosition控件为此?
非常感谢您的帮助。
答案 0 :(得分:9)
我浏览了源代码并自己找到了答案。我希望它对其他人有用。
mapPanel.getMap().getEvents().register("mousemove", mapPanel.getMap(), new EventHandler() {
@Override
public void onHandle(EventObject eventObject) {
JSObject xy = eventObject.getJSObject().getProperty("xy");
Pixel px = Pixel.narrowToPixel(xy);
LonLat lonlat = mapPanel.getMap().getLonLatFromPixel(px);
}
});