2013-10-21 2 views
1

나는 및 버튼에 JMapViewer을 패널로 가지고 있습니다. Button을 누르면 스크롤 된지도 발췌 부분을 표시 할 JMapViewer이됩니다.프로그래밍 방식으로 JMapViewer지도 스크롤

위도/경도로 다른 표시 위치를 설정하려고했으나 이전 mapcentered lat/lon 값을 얻는 방법을 모릅니다 ..? 약간 최대를 표시해야합니다

내 버튼의 ActionListener는,지도 발췌 이동 :

btn_PanUp.addActionListener(new ActionListener(){ 

    @Override 
    public void actionPerformed(ActionEvent arg0) { 
     jmv.setDisplayPositionByLatLon(lat+0.01, lon, zoom) 
     jmv.invalidate(); 
    } 
}); 

를하지만지도 센터의 현재 위도/경도 값을 얻는 방법을 모르겠어요. 어떻게 구할 수 있습니까?

답변

2

JMapViewer에서 보는 방법은 getPosition()이며 현재지도 센터를 제공합니다.

출처 : https://github.com/balloob/JMapViewer/blob/master/org/openstreetmap/gui/jmapviewer/JMapViewer.java

/** 
    * Calculates the latitude/longitude coordinate of the center of the 
    * currently displayed map area. 
    * 
    * @return latitude/longitude 
    */ 
    public Coordinate getPosition() { 
     double lon = OsmMercator.XToLon(center.x, zoom); 
     double lat = OsmMercator.YToLat(center.y, zoom); 
     return new Coordinate(lat, lon); 
    } 
관련 문제