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 に答える