如何在jxmapviewer中显示标记/航点

时间:2015-09-25 09:14:42

标签: java openstreetmap marker jxmapviewer

我无法在任何地方找到简单的答案,所以我想我错过了一些东西:

我在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();

任何线索为什么?

1 个答案:

答案 0 :(得分:0)

因为您只是覆盖方法(paintWaypoint()),但您没有修改方法。

所以这对我有用,也适合你....

将以下代码添加到paintWaypoint()。这会在您的鼠标位置上绘制一个十字标记( X )。

 g.setColor(Color.RED);
 g.drawLine(-5,-5,+5,+5); 
 g.drawLine(-5,+5,+5,-5); 
 return true;