public abstract class AbstractTMSTileSource extends AbstractTileSource
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
baseUrl |
protected java.lang.String |
id |
private java.util.Map<java.lang.String,java.lang.String> |
metadataHeaders |
protected java.lang.String |
name |
private java.util.Map<java.lang.String,java.lang.String> |
noTileHeaders |
protected OsmMercator |
osmMercator |
protected int |
tileSize |
attributionImage, attributionImageURL, attributionLinkURL, attributionText, termsOfUseText, termsOfUseURL
Constructor and Description |
---|
AbstractTMSTileSource(TileSourceInfo info)
Creates an instance based on TileSource information
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getBaseUrl() |
int |
getDefaultTileSize() |
double |
getDistance(double lat1,
double lon1,
double lat2,
double lon2)
Gets the distance using Spherical law of cosines.
|
java.lang.String |
getExtension() |
java.lang.String |
getId()
A unique id for this tile source.
|
int |
getMaxZoom()
Specifies the maximum zoom value.
|
java.util.Map<java.lang.String,java.lang.String> |
getMetadata(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
Extracts metadata about the tile based on HTTP headers
|
int |
getMinZoom()
Specifies the minimum zoom value.
|
java.lang.String |
getName()
A tile layer name as displayed to the user.
|
java.lang.String |
getTileId(int zoom,
int tilex,
int tiley)
Creates tile identifier that is unique among all tile sources, but the same tile will always
get the same identifier.
|
private static int |
getTileMax(int zoom) |
java.lang.String |
getTilePath(int zoom,
int tilex,
int tiley) |
int |
getTileSize()
Specifies how large each tile is.
|
java.lang.String |
getTileUrl(int zoom,
int tilex,
int tiley)
Constructs the tile url.
|
int |
getTileXMax(int zoom) |
int |
getTileXMin(int zoom) |
int |
getTileYMax(int zoom) |
int |
getTileYMin(int zoom) |
boolean |
isNoTileAtZoom(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
int statusCode,
byte[] content)
Determines, if the returned data from TileSource represent "no tile at this zoom level" situation.
|
TileXY |
latLonToTileXY(double lat,
double lon,
int zoom) |
TileXY |
latLonToTileXY(ICoordinate point,
int zoom) |
java.awt.Point |
latLonToXY(double lat,
double lon,
int zoom) |
java.awt.Point |
latLonToXY(ICoordinate point,
int zoom) |
ICoordinate |
tileXYToLatLon(int x,
int y,
int zoom) |
ICoordinate |
tileXYToLatLon(Tile tile) |
ICoordinate |
tileXYToLatLon(TileXY xy,
int zoom) |
java.lang.String |
toString() |
ICoordinate |
xyToLatLon(int x,
int y,
int zoom) |
ICoordinate |
xyToLatLon(java.awt.Point point,
int zoom) |
getAttributionImage, getAttributionImageURL, getAttributionLinkURL, getAttributionText, getTermsOfUseText, getTermsOfUseURL, requiresAttribution, setAttributionImage, setAttributionImageURL, setAttributionLinkURL, setAttributionText, setTermsOfUseText, setTermsOfUseURL
protected java.lang.String name
protected java.lang.String baseUrl
protected java.lang.String id
private final java.util.Map<java.lang.String,java.lang.String> noTileHeaders
private final java.util.Map<java.lang.String,java.lang.String> metadataHeaders
protected int tileSize
protected OsmMercator osmMercator
public AbstractTMSTileSource(TileSourceInfo info)
info
- description of the Tile Sourcepublic int getDefaultTileSize()
public java.lang.String getName()
TileSource
public java.lang.String getId()
TileSource
public int getMaxZoom()
TileSource
TileSource.getMaxZoom()
].JMapViewer.MAX_ZOOM
public int getMinZoom()
TileSource
public java.lang.String getExtension()
public java.lang.String getTilePath(int zoom, int tilex, int tiley) throws java.io.IOException
zoom
- level of the tiletilex
- tile number in x axistiley
- tile number in y axisjava.io.IOException
- when subclass cannot return the tile URLpublic java.lang.String getBaseUrl()
public java.lang.String getTileUrl(int zoom, int tilex, int tiley) throws java.io.IOException
TileSource
zoom
- zoom leveltilex
- X coordinatetiley
- Y coordinatejava.io.IOException
- if any I/O error occurspublic java.lang.String toString()
toString
in class java.lang.Object
public int getTileSize()
TileSource
public double getDistance(double lat1, double lon1, double lat2, double lon2)
TileSource
lat1
- latitude of first pointlon1
- longitude of first pointlat2
- latitude of second pointlon2
- longitude of second pointpublic java.awt.Point latLonToXY(double lat, double lon, int zoom)
lat
- latitudelon
- longitudezoom
- zoom levelpublic java.awt.Point latLonToXY(ICoordinate point, int zoom)
point
- pointzoom
- zoom levelpublic ICoordinate xyToLatLon(java.awt.Point point, int zoom)
point
- pointzoom
- zoom levelpublic ICoordinate xyToLatLon(int x, int y, int zoom)
x
- X coordinatey
- Y coordinatezoom
- zoom levelpublic TileXY latLonToTileXY(double lat, double lon, int zoom)
lat
- latitudelon
- longitudezoom
- zoom levelpublic TileXY latLonToTileXY(ICoordinate point, int zoom)
point
- pointzoom
- zoom levelpublic ICoordinate tileXYToLatLon(TileXY xy, int zoom)
xy
- X/Y coordinateszoom
- zoom levelpublic ICoordinate tileXYToLatLon(Tile tile)
tile
- Tilepublic ICoordinate tileXYToLatLon(int x, int y, int zoom)
x
- X coordinatey
- Y coordinatezoom
- zoom levelpublic int getTileXMax(int zoom)
zoom
- zoom levelpublic int getTileXMin(int zoom)
zoom
- zoom levelpublic int getTileYMax(int zoom)
zoom
- zoom levelpublic int getTileYMin(int zoom)
zoom
- zoom levelpublic boolean isNoTileAtZoom(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers, int statusCode, byte[] content)
TileSource
isNoTileAtZoom
in interface TileSource
isNoTileAtZoom
in class AbstractTileSource
headers
- HTTP headers from response from TileSource serverstatusCode
- HTTP status codecontent
- byte array representing the data returned from the serverpublic java.util.Map<java.lang.String,java.lang.String> getMetadata(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
TileSource
headers
- HTTP headers from Tile Source serverpublic java.lang.String getTileId(int zoom, int tilex, int tiley)
TileSource
zoom
- zoom leveltilex
- X coordinatetiley
- Y coordinateprivate static int getTileMax(int zoom)