4

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

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

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

非常感谢您的帮助。

4

1 回答 1

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);
            }
        });
于 2011-05-19T12:35:10.117 回答