Witam wszystkich,

Tworzę sobie program do wyświetlania punktów na mapie. Korzystam z jXMapViewer2, mapa działa fajnie ale punkty na mapie nie mają opcji MouseClicked więc znalazłem coś takiego: https://blogs.java.net/node/692955#comment-767089. Działa ale niestety wyświetla tylko jeden punkt, a ja chciałbym aby wyświetlał wszystkie które dodam. Trochę kodu:

JButton jb = new JButton();

jb.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
            System.out.println("The button was clicked");
            }
        });

Set<Waypoint> waypoints = new HashSet<Waypoint>();
            waypoints.add(new SwingWaypoint(jb, new GeoPosition(0,0)));
            waypoints.add(new SwingWaypoint(jb, new GeoPosition(10,10)));

for (Waypoint wp : waypoints)
            mapkit.add(((SwingWaypoint) wp).getComponent());

WaypointPainter<Waypoint> waypointPainter = new WaypointPainter<Waypoint>(){
@Override
            protected void doPaint(Graphics2D g, JXMapViewer map, int width, int height) {
                
                for (Waypoint wp : getWaypoints()) {
                    Point2D gp_pt = map.getTileFactory().geoToPixel( 
                            wp.getPosition(), map.getZoom());
                    Rectangle rect = map.getViewportBounds(); 
                    Point pt = new Point( 
                            (int) gp_pt.getX() - rect.x, 
                            (int) gp_pt.getY() - rect.y);
                    JComponent component = ((SwingWaypoint) wp).getComponent();
                    component.setLocation(pt);
                }
            }

waypointPainter.setWaypoints(waypoints);
mapkit.setOverlayPainter(waypointPainter);

Nie mam zielonego pojęcia dlaczego tak się dzieje.

Z góry dziękuje za pomoc.

Pozdrawiam