跟踪Java WorldWind上的鼠标位置

时间:2013-11-23 08:50:33

标签: worldwind

我正在尝试使用addMouseListener向我的地球添加鼠标监听器。它没有显示任何错误,我甚至可以添加mouseClicked(MouseEvent e),但仍然没有错误。但最后当我试图使用worldWindowGLCanvas1.getCurrentPosition()获取当前位置时,它显示为NULL,即使我点击地球或外部......有人可以帮我这样做吗?不要担心额外的空间。我已修改,因为该网站不接受我的问题:)

1 个答案:

答案 0 :(得分:1)

我不确定这是不是你问的问题,但这对我有用:

final WorldWindowGLCanvas aCanvas = new WorldWindowGLCanvas();
aCanvas.setModel(new BasicModel());
aCanvas.getInputHandler().addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent pE) {

        Position aCurrentPosition = aCanvas.getCurrentPosition();

        //Or whatever work:      
        if(aCurrentPosition != null) {

            System.out.println("Current Pos= " + aCurrentPosition);

        } else {

            System.out.println("Current Pos is null!");

        }
    }
});

我添加了null检查以查看它是否会变为null而它没有。此代码的假设是鼠标单击将使地球重新定位到该位置。调用aCanvas.getCurrentPosition()应该返回中心globe。如果画布未呈现或不可见,则此方法将返回null。