1

我有JMapViewer一个面板JFrame和一个按钮。如果我按下按钮,我希望JMapViewer显示滚动的地图摘录。

我试图通过 lat/lon 设置另一个显示位置,但我不知道如何获取旧的 mapcentered lat/lon 值..?

我的按钮 Actionlistener,它应该显示一个稍微向上移动的地图摘录:

btn_PanUp.addActionListener(new ActionListener(){

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

但我不知道如何获取地图中心的当前纬度/经度值。我如何获得它们?

4

1 回答 1

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);
    }
于 2013-10-21T13:27:07.840 回答