001    package org.openstreetmap.gui.jmapviewer;
002    
003    //License: GPL. Copyright 2008 by Jan Peter Stotz
004    
005    import java.awt.Color;
006    import java.awt.Graphics;
007    import java.awt.Point;
008    
009    import org.openstreetmap.gui.jmapviewer.interfaces.MapMarker;
010    
011    /**
012     * A simple implementation of the {@link MapMarker} interface. Each map marker
013     * is painted as a circle with a black border line and filled with a specified
014     * color.
015     *
016     * @author Jan Peter Stotz
017     *
018     */
019    public class MapMarkerDot implements MapMarker {
020    
021        double lat;
022        double lon;
023        Color color;
024    
025        public MapMarkerDot(double lat, double lon) {
026            this(Color.YELLOW, lat, lon);
027        }
028    
029        public MapMarkerDot(Color color, double lat, double lon) {
030            super();
031            this.color = color;
032            this.lat = lat;
033            this.lon = lon;
034        }
035    
036        public double getLat() {
037            return lat;
038        }
039    
040        public double getLon() {
041            return lon;
042        }
043    
044        public void paint(Graphics g, Point position) {
045            int size_h = 5;
046            int size = size_h * 2;
047            g.setColor(color);
048            g.fillOval(position.x - size_h, position.y - size_h, size, size);
049            g.setColor(Color.BLACK);
050            g.drawOval(position.x - size_h, position.y - size_h, size, size);
051        }
052    
053        @Override
054        public String toString() {
055            return "MapMarker at " + lat + " " + lon;
056        }
057    
058    }