// License: GPL. For details, see Readme.txt file. package org.openstreetmap.gui.jmapviewer.interfaces; import java.awt.Graphics; import java.awt.Point; import org.openstreetmap.gui.jmapviewer.Coordinate; import org.openstreetmap.gui.jmapviewer.JMapViewer; /** * Interface to be implemented by all one dimensional elements that can be displayed on the map. * * @author Jan Peter Stotz * @see JMapViewer#addMapMarker(MapMarker) * @see JMapViewer#getMapMarkerList() */ public interface MapMarker extends MapObject, ICoordinate { enum STYLE { FIXED, VARIABLE } /** * @return Latitude and Longitude of the map marker position */ Coordinate getCoordinate(); /** * @return Latitude of the map marker position */ @Override double getLat(); /** * @return Longitude of the map marker position */ @Override double getLon(); /** * @return Radius of the map marker position */ double getRadius(); /** * @return Style of the map marker */ STYLE getMarkerStyle(); /** * Paints the map marker on the map. The <code>position</code> specifies the * coordinates within <code>g</code> * * @param g graphics * @param position coordinates * @param radius radius */ void paint(Graphics g, Point position, int radius); }