我在JMapViewer
和按钮上有一个JFrame
面板。如果我按下按钮,我希望JMapViewer
显示滚动的地图摘录。
我试图通过lat / lon设置另一个显示位置,但我不知道如何获取旧的mapcentered lat / lon值..?
My Button Actionlistener,它应该显示一个略微向上移动的地图摘录:
btn_PanUp.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
jmv.setDisplayPositionByLatLon(lat+0.01, lon, zoom)
jmv.invalidate();
}
});
但我不知道如何获取地图中心的当前纬度/经度值。我如何获得它们?
答案 0 :(得分: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);
}