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 }