我正在用库jxmapviewer2显示一个OSM地图。
我无法得到地图上某一个点的坐标,因为我想通过点击得到一个点的地理坐标。
public void mouseClicked(MouseEvent e) {
if(e.getClickCount() == 1 && e.getButton() == MouseEvent.BUTTON3){
java.awt.Point p = e.getPoint();
double X = p.getX();
double Y = p.getY();
System.out.println("X:"+X+",Y:"+Y);
}
}上面的代码返回的输出如下:
X:239.0,Y:113.0发布于 2017-05-30 11:15:49
假设您已经创建了一个JXMapViewer并将鼠标侦听器添加到其中,那么您可以使用您的查看器获取GeoPosition。
JXMapViewer viewer;
//initialize somehow.
viewer.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
if(e.getClickCount() == 1 && e.getButton() == MouseEvent.BUTTON3){
java.awt.Point p = e.getPoint();
GeoPosition geo = viewer.convertPointToGeoPosition(p);
System.out.println("X:"+geo.getLattitude()+",Y:"+geo.getLongitude());
}
}
});https://stackoverflow.com/questions/44260480
复制相似问题