小编典典

JMapViewer将鼠标侦听器添加到MapMarkerDot

java

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

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

任何帮助表示赞赏


阅读 212

收藏
2020-09-16

共1个答案

小编典典

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

 new DefaultMapController(map){

    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println(map.getPosition(e.getPoint()));
    }
};
2020-09-16