3

我正在尝试将鼠标侦听器添加到 MapMarker,以便当鼠标悬停 MapMarker 时,我可以对事件做出反应。

我实现了mouseListener,但我不能真正添加​​一个监听器。问题是我没有找到 MapMarker 将 addMouseListener 的方法,因为没有层次结构实现 JPanel。

任何帮助表示赞赏

4

1 回答 1

3

正如这里所指出的,默认JMapViewer构造函数使用一个DefaultMapController,“它实现了按鼠标右键移动地图并通过双击或鼠标滚轮进行缩放。” 要查看地图坐标,请扩展DefaultMapController、覆盖mouseClicked()并使用查看器的getPosition()方法之一。您可以使用您的控制器,如Demo.javar30377 的第 65 行的注释中所示。

 new DefaultMapController(map){

    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println(map.getPosition(e.getPoint()));
    }
};
于 2014-07-10T23:51:08.670 回答