我正在尝试添加一个鼠标监听器到MapMarker,这样当鼠标悬停在MapMarker上时,我可以用一个事件做出反应。
我实现了mouseListener,但我不能真正添加一个侦听器。问题是我没有找到MapMarker将addMouseListener的方法,因为没有层次结构实现JPanel。
感谢您的帮助
如这里所述,默认的JMapViewer
构造函数使用DefaultMapController
,"它通过按鼠标右键并通过双击或鼠标滚轮缩放来实现地图移动。"要查看地图坐标,扩展DefaultMapController
,覆盖mouseClicked()
并使用查看器的getPosition()
方法之一。您可以按照Demo.java
, r30377第65行注释中所示的方式使用控制器。
new DefaultMapController(map){
@Override
public void mouseClicked(MouseEvent e) {
System.out.println(map.getPosition(e.getPoint()));
}
};