2011-05-17 42 views
4

我想捕獲gwt-openlayers中的鼠標事件。 以下處理程序確實收到事件,但我無法從EventObject對象中提取鼠標位置。 有人可以幫忙嗎?gwt-openlayers中的mousemove事件

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

此外,有沒有另一種方法來接收鼠標移動事件?我可以攔截 MousePosition控制嗎?

非常感謝您的幫助。

回答

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