Java 如何在jxmapviewer中显示标记/航路点
我在任何地方都找不到简单的答案,所以我想我遗漏了一些东西: 我在java中使用openstreetmap,我制作了一个GUI,单击时会得到一个地质点,我想在单击的位置显示一个标记,我尝试了这个方法,但没有成功:Java 如何在jxmapviewer中显示标记/航路点,java,openstreetmap,marker,jxmapviewer,Java,Openstreetmap,Marker,Jxmapviewer,我在任何地方都找不到简单的答案,所以我想我遗漏了一些东西: 我在java中使用openstreetmap,我制作了一个GUI,单击时会得到一个地质点,我想在单击的位置显示一个标记,我尝试了这个方法,但没有成功: GeoPosition gp2 = map.convertPointToGeoPosition(map.getMousePosition()); Waypoint wp = new Waypoint() { @Overr
GeoPosition gp2 = map.convertPointToGeoPosition(map.getMousePosition());
Waypoint wp = new Waypoint() {
@Override
public GeoPosition getPosition() {
// TODO Auto-generated method stub
return gp2;
}
};
Set<Waypoint> set = null;
set.add(wp);
WaypointPainter<Waypoint> wpp = new WaypointPainter<Waypoint>();
wpp.setRenderer(new WaypointRenderer<Waypoint>() {
@Override
public void paintWaypoint(Graphics2D g, JXMapViewer map, Waypoint waypoint) {
// TODO Auto-generated method stub
}
});
wpp.setWaypoints(set);
Map.this.getJXMapViewer().setOverlayPainter(wpp);
Map.this.getJXMapViewer().revalidate();
Map.this.getJXMapViewer().repaint();
地理位置gp2=map.convertPointToGeoPosition(map.getMousePosition());
航路点wp=新航路点(){
@凌驾
公共地理位置getPosition(){
//TODO自动生成的方法存根
返回gp2;
}
};
Set=null;
添加(wp);
WaypointPainter wpp=新的WaypointPainter();
setRenderer(新的航路点渲染器(){
@凌驾
公共航路点(Graphics2D g、JXMapViewer地图、航路点航路点){
//TODO自动生成的方法存根
}
});
wpp.设定航路点(设置);
Map.this.getJXMapViewer().setOverlayPainter(wpp);
Map.this.getJXMapViewer().revalidate();
Map.this.getJXMapViewer().repaint();
有什么线索吗?因为您只是重写了该方法(
paintWaypoint()
),但没有修改该方法
所以这对我来说很有效,对你也很有效
将以下代码添加到您的paintWaypoint()
。这将在您的鼠标位置上绘制一个十字标记(X)
g.setColor(Color.RED);
g.drawLine(-5,-5,+5,+5);
g.drawLine(-5,+5,+5,-5);
return true;