Java 从jxmapviewer2获取经纬度
我正在显示带有库的OSM地图 我无法获得地图上某个点的纬度,因为我想通过单击该点来获得该点的地理坐标Java 从jxmapviewer2获取经纬度,java,swing,openstreetmap,jxmapviewer,Java,Swing,Openstreetmap,Jxmapviewer,我正在显示带有库的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.ge
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
假设您已经创建了一个
JXMapViewer
,并将鼠标侦听器添加到其中,那么您可以使用查看器获取地理位置
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());
}
}
});
假设您已经创建了一个
JXMapViewer
,并将鼠标侦听器添加到其中,那么您可以使用查看器获取地理位置
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());
}
}
});
您还添加了什么组件作为鼠标侦听器?很可能您必须使用
公共地理位置转换pointtogeoposition(Point2D pt)
这是类JXMapViewer
的一部分。它成功了,谢谢!你应该考虑将实际答案标记为正确,如果这是你所做的。你还添加了什么组件?很可能您必须使用公共地理位置转换pointtogeoposition(Point2D pt)
这是类JXMapViewer
的一部分。它成功了,谢谢!如果你这样做的话,你应该考虑把实际答案标记为正确的。