|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.openstreetmap.gui.jmapviewer.JMapViewer
public class JMapViewer
Provides a simple panel that displays pre-rendered map tiles loaded from the OpenStreetMap project.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
javax.swing.JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected java.awt.Point |
center
x- and y-position of the center of this map-panel on the world map denoted in screen pixel regarding the current zoom level. |
(package private) JobDispatcher |
jobDispatcher
|
protected java.util.List<MapMarker> |
mapMarkerList
|
protected boolean |
mapMarkersVisible
|
static int |
MAX_ZOOM
|
static int |
MIN_ZOOM
|
protected static java.awt.Point[] |
move
Vectors for clock-wise tile painting |
private static long |
serialVersionUID
|
protected TileCache |
tileCache
|
protected boolean |
tileGridVisible
|
protected TileLoader |
tileLoader
|
protected TileSource |
tileSource
|
protected int |
zoom
Current zoom level |
protected javax.swing.JButton |
zoomInButton
|
protected javax.swing.JButton |
zoomOutButton
|
protected javax.swing.JSlider |
zoomSlider
|
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
JMapViewer()
Creates a standard JMapViewer instance that can be controlled via
mouse: hold right mouse button for moving, double click left mouse button
or use mouse wheel for zooming. |
|
JMapViewer(TileCache tileCache,
int downloadThreadCount)
|
Method Summary | |
---|---|
void |
addMapMarker(MapMarker marker)
|
java.util.List<MapMarker> |
getMapMarkerList()
|
boolean |
getMapMarkersVisible()
|
java.awt.Point |
getMapPosition(double lat,
double lon)
Calculates the position on the map of a given coordinate |
java.awt.geom.Point2D.Double |
getPosition()
|
java.awt.geom.Point2D.Double |
getPosition(java.awt.Point mapPoint)
|
protected Tile |
getTile(int tilex,
int tiley,
int zoom)
retrieves a tile from the cache. |
TileCache |
getTileCache()
|
TileSource |
getTileLayerSource()
|
TileLoader |
getTileLoader()
|
TileSource |
getTileSource()
|
int |
getZoom()
|
boolean |
getZoomContolsVisible()
|
protected void |
initializeZoomSlider()
|
boolean |
isTileGridVisible()
|
void |
moveMap(int x,
int y)
Moves the visible map pane. |
protected void |
paintComponent(java.awt.Graphics g)
|
void |
setDisplayPosition(int x,
int y,
int zoom)
|
void |
setDisplayPosition(java.awt.Point mapPoint,
int x,
int y,
int zoom)
|
void |
setDisplayPositionByLatLon(double lat,
double lon,
int zoom)
Changes the map pane so that it is centered on the specified coordinate at the given zoom level. |
void |
setDisplayPositionByLatLon(java.awt.Point mapPoint,
double lat,
double lon,
int zoom)
Changes the map pane so that the specified coordinate at the given zoom level is displayed on the map at the screen coordinate mapPoint . |
void |
setDisplayToFitMapMarkers()
Sets the displayed map pane and zoom level so that all map markers are visible. |
void |
setMapMarkerList(java.util.List<MapMarker> mapMarkerList)
|
void |
setMapMarkerVisible(boolean mapMarkersVisible)
Enables or disables painting of the MapMarker |
void |
setTileGridVisible(boolean tileGridVisible)
|
void |
setTileLoader(TileLoader tileLoader)
|
void |
setTileSource(TileSource tileSource)
|
void |
setZoom(int zoom)
|
void |
setZoom(int zoom,
java.awt.Point mapPoint)
|
void |
setZoomContolsVisible(boolean visible)
|
void |
tileLoadingFinished(Tile tile,
boolean success)
Will be called if a new Tile has been loaded successfully. |
protected void |
zoomChanged(int oldZoom)
Every time the zoom level changes this method is called. |
void |
zoomIn()
Increases the current zoom level by one |
void |
zoomIn(java.awt.Point mapPoint)
Increases the current zoom level by one |
void |
zoomOut()
Decreases the current zoom level by one |
void |
zoomOut(java.awt.Point mapPoint)
Decreases the current zoom level by one |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
protected static final java.awt.Point[] move
public static final int MAX_ZOOM
public static final int MIN_ZOOM
protected TileLoader tileLoader
protected TileCache tileCache
protected TileSource tileSource
protected java.util.List<MapMarker> mapMarkerList
protected boolean mapMarkersVisible
protected boolean tileGridVisible
protected java.awt.Point center
protected int zoom
protected javax.swing.JSlider zoomSlider
protected javax.swing.JButton zoomInButton
protected javax.swing.JButton zoomOutButton
JobDispatcher jobDispatcher
Constructor Detail |
---|
public JMapViewer()
JMapViewer
instance that can be controlled via
mouse: hold right mouse button for moving, double click left mouse button
or use mouse wheel for zooming. Loaded tiles are stored the
MemoryTileCache
and the tile loader uses 4 parallel threads for
retrieving the tiles.
public JMapViewer(TileCache tileCache, int downloadThreadCount)
Method Detail |
---|
protected void initializeZoomSlider()
public void setDisplayPositionByLatLon(double lat, double lon, int zoom)
lat
- latitude of the specified coordinatelon
- longitude of the specified coordinatezoom
- MIN_ZOOM
<= zoom level <= MAX_ZOOM
public void setDisplayPositionByLatLon(java.awt.Point mapPoint, double lat, double lon, int zoom)
mapPoint
.
mapPoint
- point on the map denoted in pixels where the coordinate should
be setlat
- latitude of the specified coordinatelon
- longitude of the specified coordinatezoom
- MIN_ZOOM
<= zoom level <=
TileSource.getMaxZoom()
public void setDisplayPosition(int x, int y, int zoom)
public void setDisplayPosition(java.awt.Point mapPoint, int x, int y, int zoom)
public void setDisplayToFitMapMarkers()
public java.awt.geom.Point2D.Double getPosition()
public java.awt.geom.Point2D.Double getPosition(java.awt.Point mapPoint)
public java.awt.Point getMapPosition(double lat, double lon)
lat
- lon
-
null
if the point is not visibleprotected void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
public void moveMap(int x, int y)
x
- horizontal movement in pixel.y
- vertical movement in pixelpublic int getZoom()
public void zoomIn()
public void zoomIn(java.awt.Point mapPoint)
public void zoomOut()
public void zoomOut(java.awt.Point mapPoint)
public void setZoom(int zoom, java.awt.Point mapPoint)
public void setZoom(int zoom)
protected Tile getTile(int tilex, int tiley, int zoom)
JobDispatcher.JobThread
.
tilex
- tiley
- zoom
-
null
if the tile
was not found in the cache.protected void zoomChanged(int oldZoom)
getZoom()
.
oldZoom
- the previous zoom levelpublic boolean isTileGridVisible()
public void setTileGridVisible(boolean tileGridVisible)
public boolean getMapMarkersVisible()
public void setMapMarkerVisible(boolean mapMarkersVisible)
MapMarker
mapMarkersVisible
- addMapMarker(MapMarker)
,
getMapMarkerList()
public void setMapMarkerList(java.util.List<MapMarker> mapMarkerList)
public java.util.List<MapMarker> getMapMarkerList()
public void addMapMarker(MapMarker marker)
public void setZoomContolsVisible(boolean visible)
public boolean getZoomContolsVisible()
public TileCache getTileCache()
getTileCache
in interface TileLoaderListener
public TileLoader getTileLoader()
public void setTileLoader(TileLoader tileLoader)
public TileSource getTileLayerSource()
public TileSource getTileSource()
public void setTileSource(TileSource tileSource)
public void tileLoadingFinished(Tile tile, boolean success)
TileLoaderListener
Tile
has been loaded successfully.
Loaded can mean downloaded or loaded from file cache.
tileLoadingFinished
in interface TileLoaderListener
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |