2014-07-05 2 views
3

마우스를 MapMarker에 가져 가면 이벤트에 반응 할 수 있도록 MapMarker에 마우스 수신기를 추가하려고합니다.JMapViewer가 MapMarkerDot에 마우스 수신기 추가

mouseListener를 구현했지만 실제로 수신기를 추가 할 수 없습니다. 문제는 JPMel을 구현하지 않는 계층 구조로 인해 MapMarker에서 addMouseListener를 사용할 수있는 방법을 찾지 못했기 때문입니다.

는 어떤 도움을

+0

게시 한 답변을 읽고 중복됩니다. 감사! –

+0

답변을 추가하여 승인 할 수 있습니다. –

답변

3

바와 같이, 기본 JMapViewer 생성자가 DefaultMapController 사용 here 지적 감사합니다 "마우스 오른쪽 버튼을 누르면 더블 클릭 또는 마우스 휠로 확대하여 이동지도를 구현합니다." 지도 좌표를 보려면 DefaultMapController을 확장하고 mouseClicked()을 무시하고 뷰어의 getPosition() 메소드 중 하나를 사용합니다. 컨트롤러는 Demo.java, r30377의 65 행에있는 주석과 같이 사용할 수 있습니다.

new DefaultMapController(map){ 

    @Override 
    public void mouseClicked(MouseEvent e) { 
     System.out.println(map.getPosition(e.getPoint())); 
    } 
}; 
관련 문제