我无法在任何地方找到简单的答案,所以我想我错过了一些东西:
我在java中使用openstreetmap,我创建了一个GUI,点击时我得到了一个地址点,我想显示一个我点击的标记,我试过这个但是它不起作用:
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();
任何线索为什么?
答案 0 :(得分:0)
因为您只是覆盖方法(paintWaypoint()
),但您没有修改方法。
所以这对我有用,也适合你....
将以下代码添加到paintWaypoint()
。这会在您的鼠标位置上绘制一个十字标记( X )。
g.setColor(Color.RED);
g.drawLine(-5,-5,+5,+5);
g.drawLine(-5,+5,+5,-5);
return true;