Package org.ka2ddo.yaac.core
Interface GeoMapIfc
- All Known Subinterfaces:
FullGeoMapIfc
- All Known Implementing Classes:
GeographicalMap
public interface GeoMapIfc
This interface defines GUI-platform-independent methods for manipulating a minimal map display in YAAC.
- Author:
- Andrew Pavlin, KA2DDO
-
Method Summary
Modifier and TypeMethodDescriptionvoid
displayAttentionAlert
(double latitude, double longitude, AX25Message.Precedence precedence) Display an AttentionAlert (flashing arrows) on the map for a particular position.void
Flush all caches of File objects referencing map data.double
Get the latitude of the bottom edge of the map.double
Get the latitude of the current center of the map.double
Get the longitude of the current center of the map.double
Get the longitude of the left edge of the map.double
Get the longitude of the right edge of the map.float
getScale()
Get the current scale factor of the map.double
Get the latitude of the top edge of the map.float
Get the current scale of the map in currentDistanceUnit
s.boolean
Report whether map tiles will be auto-downloaded (if the author's website can be reached) for any tiles that have not already been downloaded.boolean
Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).boolean
Report whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object.boolean
Report whether a translucent ambiguity circle is drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.boolean
Report whether callsign label should be drawn for each station/object.boolean
Report if symbols are being drawn double-sized.boolean
Report whether a color-coded "halo" is drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.boolean
Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.boolean
Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.boolean
Report whether the local station is plotted on the map.boolean
Report whether local station is drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.boolean
Report whether the map should automatically pan to keep the local station centered on the map.default boolean
Specify whether this map should be re-centered on AttentionAlerts of EMERGENCY or ROUTINE precedence.boolean
Report if the displays are in night mode.boolean
Report whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.boolean
Report if unlabeled and untyped map features should be displayed.void
Load a GPS file into a map overlay.void
locateASpecificStation
(ArrayList<StationState> matchList, String callsign) Locate a specific station on the map window.void
refresh()
Force the map to immediately regenerate itself based on current state data.void
Force the station renderer layer to regenerate its overlay immediately.void
setAutoLoadMapTiles
(boolean autoLoadMapTiles) Specify whether missing OpenStreetMap imported tiles should be automatically downloaded from the author's website.void
setCenter
(double lat, double lon) Set the current center position of the map.void
setCenter
(com.bbn.openmap.proj.coords.LatLonPoint p) Set the current center position of the map.void
setDontRotateIcons
(boolean dontRotateIcons) Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).void
setDrawAliasInsteadOfCallsign
(boolean drawAliasInsteadOfCallsign) Specify whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object.void
setDrawAmbiguityCircle
(boolean drawAmbiguityCircle) Specify whether a translucent ambiguity circle should be drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.void
setDrawCallsign
(boolean drawCallsign) Specify whether callsign labels should be drawn for each station/object.void
setDrawDoubleSizedSymbols
(boolean drawDoubleSizedSymbols) Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).void
setDrawItemStatus
(boolean drawItemStatus) Specify whether a color-coded "halo" should be drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.void
setDrawMicEStatusCircles
(boolean drawMicEStatusCircles) Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.void
setDrawRangeCircles
(boolean drawRangeCircles) Specify whether range circles should be drawn around stations reporting or implying transmission range limits.void
setDrawSelf
(boolean drawSelf) Specify whether the local station should be plotted on the map.void
setDrawSelfLikeOther
(boolean drawSelfLikeOther) Specify whether local station should be drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.void
setMapAutoCentering
(boolean isAutoCentered) Specify whether the map should automatically pan to keep the local station centered on the map.void
setMemoryGCPanelVisible
(boolean visible) Change the visibility of the memory usage status monitor.void
setNightMode
(boolean isNight) Specify that the displays should be in night mode (black backgrounds with white text/lines, for not ruining the night vision of the operator).void
setScale
(float scale) Change the scale of the map.void
setShowLabelsInEnglish
(boolean showLabelsInEnglish) Specify whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.void
setShowUnlabeledWays
(boolean showUnlabeledWays) Specify if unlabeled and untyped map features should be displayed.void
setVisible
(boolean visible) Specify whether the main (map) display window should be visible.void
toFront()
Push the map GUI window to the foreground by whatever means the underlying GUI toolkit uses.void
zoomPanToSelectedFeature
(GTNWrapper gtnWrapper) Zoom and pan the map so the specified map feature nearly fills the map.
-
Method Details
-
setVisible
void setVisible(boolean visible) Specify whether the main (map) display window should be visible.- Parameters:
visible
- boolean true if map window should be visible, false if not
-
toFront
void toFront()Push the map GUI window to the foreground by whatever means the underlying GUI toolkit uses. -
isMapAutoCentered
boolean isMapAutoCentered()Report whether the map should automatically pan to keep the local station centered on the map.- Returns:
- boolean true if map should auto-center, false otherwise
-
setScale
void setScale(float scale) Change the scale of the map.- Parameters:
scale
- new scaling factor
-
getScale
float getScale()Get the current scale factor of the map.- Returns:
- scaling factor
-
getZoomScale
float getZoomScale()Get the current scale of the map in currentDistanceUnit
s.- Returns:
- half the width of the map in current units
-
setCenter
void setCenter(double lat, double lon) Set the current center position of the map.- Parameters:
lat
- latitude in degrees Northlon
- longitude in degrees East
-
setCenter
void setCenter(com.bbn.openmap.proj.coords.LatLonPoint p) Set the current center position of the map.- Parameters:
p
- LatLonPoint for new center
-
getCenterLatitude
double getCenterLatitude()Get the latitude of the current center of the map.- Returns:
- map center latitude in fractional degrees North
-
getCenterLongitude
double getCenterLongitude()Get the longitude of the current center of the map.- Returns:
- map center longitude in fractional degrees East
-
getTopLatitude
double getTopLatitude()Get the latitude of the top edge of the map.- Returns:
- map top edge latitude in fractional degrees North
-
getLeftLongitude
double getLeftLongitude()Get the longitude of the left edge of the map.- Returns:
- map left edge longitude in fractional degrees East
-
getBottomLatitude
double getBottomLatitude()Get the latitude of the bottom edge of the map.- Returns:
- map bottom edge latitude in fractional degrees North
-
getRightLongitude
double getRightLongitude()Get the longitude of the right edge of the map.- Returns:
- map right edge longitude in fractional degrees East
-
setMapAutoCentering
void setMapAutoCentering(boolean isAutoCentered) Specify whether the map should automatically pan to keep the local station centered on the map.- Parameters:
isAutoCentered
- boolean true if map should auto-center, false otherwise
-
zoomPanToSelectedFeature
Zoom and pan the map so the specified map feature nearly fills the map.- Parameters:
gtnWrapper
- GTNWrapper around theGenericTaggedNode
to be seen
-
setNightMode
void setNightMode(boolean isNight) Specify that the displays should be in night mode (black backgrounds with white text/lines, for not ruining the night vision of the operator).- Parameters:
isNight
- boolean true if should be in night mode
-
isNightMode
boolean isNightMode()Report if the displays are in night mode.- Returns:
- boolean true if in night mode
-
refresh
void refresh()Force the map to immediately regenerate itself based on current state data. -
regenerateStations
void regenerateStations()Force the station renderer layer to regenerate its overlay immediately. -
setMemoryGCPanelVisible
void setMemoryGCPanelVisible(boolean visible) Change the visibility of the memory usage status monitor.- Parameters:
visible
- boolean true if memory status monitor should be visible
-
loadGpsLog
void loadGpsLog()Load a GPS file into a map overlay. -
isShowUnlabeledWays
boolean isShowUnlabeledWays()Report if unlabeled and untyped map features should be displayed.- Returns:
- boolean true if unlabeled/untyped map elements should be plotted
-
setShowUnlabeledWays
void setShowUnlabeledWays(boolean showUnlabeledWays) Specify if unlabeled and untyped map features should be displayed.- Parameters:
showUnlabeledWays
- boolean true if unlabeled/untyped map elements should be plotted
-
isShowLabelsInEnglish
boolean isShowLabelsInEnglish()Report whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.- Returns:
- boolean true if English labels should be used
-
setShowLabelsInEnglish
void setShowLabelsInEnglish(boolean showLabelsInEnglish) Specify whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.- Parameters:
showLabelsInEnglish
- boolean true if English labels should be used
-
isAutoLoadMapTiles
boolean isAutoLoadMapTiles()Report whether map tiles will be auto-downloaded (if the author's website can be reached) for any tiles that have not already been downloaded.- Returns:
- boolean true if auto-download is enabled
-
setAutoLoadMapTiles
void setAutoLoadMapTiles(boolean autoLoadMapTiles) Specify whether missing OpenStreetMap imported tiles should be automatically downloaded from the author's website.- Parameters:
autoLoadMapTiles
- boolean true to enable auto-download
-
isDrawRangeCircles
boolean isDrawRangeCircles()Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.- Returns:
- boolean true if range circles are being drawn
-
setDrawRangeCircles
void setDrawRangeCircles(boolean drawRangeCircles) Specify whether range circles should be drawn around stations reporting or implying transmission range limits.- Parameters:
drawRangeCircles
- boolean true if range circles should be drawn
-
isDrawMicEStatusCircles
boolean isDrawMicEStatusCircles()Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.- Returns:
- boolean true if Mic-E status color circles are drawn
-
setDrawMicEStatusCircles
void setDrawMicEStatusCircles(boolean drawMicEStatusCircles) Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.- Parameters:
drawMicEStatusCircles
- boolean true if Mic-E status color circles should be drawn
-
isDrawSelf
boolean isDrawSelf()Report whether the local station is plotted on the map.- Returns:
- boolean true if local station is drawn
-
setDrawSelf
void setDrawSelf(boolean drawSelf) Specify whether the local station should be plotted on the map.- Parameters:
drawSelf
- boolean true if local station should be drawn
-
isDrawSelfLikeOther
boolean isDrawSelfLikeOther()Report whether local station is drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.- Returns:
- boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station
- See Also:
-
setDrawSelfLikeOther
void setDrawSelfLikeOther(boolean drawSelfLikeOther) Specify whether local station should be drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.- Parameters:
drawSelfLikeOther
- boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station- See Also:
-
isDrawItemStatus
boolean isDrawItemStatus()Report whether a color-coded "halo" is drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.- Returns:
- boolean true if status halo is drawm
- See Also:
-
setDrawItemStatus
void setDrawItemStatus(boolean drawItemStatus) Specify whether a color-coded "halo" should be drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.- Parameters:
drawItemStatus
- boolean true if status halo should be drawm- See Also:
-
isDrawAmbiguityCircle
boolean isDrawAmbiguityCircle()Report whether a translucent ambiguity circle is drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.- Returns:
- boolean true if ambiguity circles are plotted
-
setDrawAmbiguityCircle
void setDrawAmbiguityCircle(boolean drawAmbiguityCircle) Specify whether a translucent ambiguity circle should be drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.- Parameters:
drawAmbiguityCircle
- boolean true if ambiguity circles should be plotted
-
isDrawCallsign
boolean isDrawCallsign()Report whether callsign label should be drawn for each station/object.- Returns:
- boolean true if callsign label should be drawn on map
-
setDrawCallsign
void setDrawCallsign(boolean drawCallsign) Specify whether callsign labels should be drawn for each station/object.- Parameters:
drawCallsign
- boolean true if callsign label should be drawn on map
-
isDrawAliasInsteadOfCallsign
boolean isDrawAliasInsteadOfCallsign()Report whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object.- Returns:
- boolean true if alias should be drawn instead of callsign
-
setDrawAliasInsteadOfCallsign
void setDrawAliasInsteadOfCallsign(boolean drawAliasInsteadOfCallsign) Specify whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object.- Parameters:
drawAliasInsteadOfCallsign
- boolean true if alias should be drawn instead of callsign
-
isDrawDoubleSizedSymbols
boolean isDrawDoubleSizedSymbols()Report if symbols are being drawn double-sized.- Returns:
- boolean true if symbols are rendered double-size
-
setDrawDoubleSizedSymbols
void setDrawDoubleSizedSymbols(boolean drawDoubleSizedSymbols) Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).- Parameters:
drawDoubleSizedSymbols
- boolean true if symbols should be rendered double-size
-
isDontRotateIcons
boolean isDontRotateIcons()Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).- Returns:
- boolean true if icons should not be rotated
-
setDontRotateIcons
void setDontRotateIcons(boolean dontRotateIcons) Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).- Parameters:
dontRotateIcons
- boolean true if icons should not be rotated
-
flushFileCache
void flushFileCache()Flush all caches of File objects referencing map data. -
locateASpecificStation
Locate a specific station on the map window.- Parameters:
matchList
- ArrayList of StationStates to locatecallsign
- String callsign or tactical alias of the located station
-
displayAttentionAlert
Display an AttentionAlert (flashing arrows) on the map for a particular position.- Parameters:
latitude
- double fractional degrees Northlongitude
- double fraction degrees Eastprecedence
- code for color level to use; ROUTINE is used for station locates
-
isMapCenteredOnAlerts
default boolean isMapCenteredOnAlerts()Specify whether this map should be re-centered on AttentionAlerts of EMERGENCY or ROUTINE precedence.- Returns:
- boolean true if map should center on AttentionAlerts
-