我正在尝试向MapMarker添加鼠标监听器,这样当鼠标悬停在MapMarker上时,我就可以对事件做出反应。
我实现了mouseListener,但我无法真正添加一个监听器。 问题是我没有找到MapMarker将addMouseListener的方式,因为层次结构的非实现JPanel。
任何帮助表示赞赏
答案 0 :(得分:3)
如上所述here,默认的JMapViewer
构造函数使用DefaultMapController
,“通过按鼠标右键并通过双击或鼠标滚轮进行缩放来实现地图移动。”要查看地图坐标,请展开DefaultMapController
,覆盖mouseClicked()
并使用其中一种查看器的getPosition()
方法。您可以使用您的控制器,如Demo.java
第45行的注释所示,r30377。
new DefaultMapController(map){
@Override
public void mouseClicked(MouseEvent e) {
System.out.println(map.getPosition(e.getPoint()));
}
};