0

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

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

任何线索为什么?

4

1 回答 1

0

因为你只是重写了方法(paintWaypoint()),但你没有修改方法。

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

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

 g.setColor(Color.RED);
 g.drawLine(-5,-5,+5,+5); 
 g.drawLine(-5,+5,+5,-5); 
 return true;
于 2016-08-03T07:30:33.890 回答