gwt-openlayers中的mousemove事件

时间:2011-05-17 14:35:49

标签: openlayers gwt-openlayers

我正在尝试在gwt-openlayers中捕获鼠标事件。 以下处理程序确实接收事件,但我是 无法从EventObject对象中提取鼠标位置。 有人可以帮忙吗?

mapPanel.getMap().getEvents().register("mousemove", mapPanel.getMap(), new EventHandler() {
            @Override
            public void onHandle(EventObject eventObject) {
                // how to obtain mouse position ?
            }
        });

此外,还有另一种接收鼠标移动事件的方法吗?我可以拦截吗? MousePosition控件为此?

非常感谢您的帮助。

1 个答案:

答案 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);
            }
        });