/*+-------------+----------------------------------------------------------*
*| | |_|_|_|_| Fraunhofer-Institut fuer Graphische Datenverarbeitung *
*|__|__|_|_|_|_| (Fraunhofer Institute for Computer Graphics) *
*| | |_|_|_|_| *
*|__|__|_|_|_|_| *
*| __ | ___| *
*| /_ /_ / _ | Fraunhoferstrasse 5 *
*|/ / / /__/ | D-64283 Darmstadt, Germany *
*+-------------+----------------------------------------------------------*/
package org.jdesktop.swingx.mapviewer;
import java.net.URI;
/**
* DefaultTileProvider
*
* @author Simon Templer
*/
@Deprecated
public class TileFactoryInfoTileProvider extends AbstractTileProvider {
private final TileFactoryInfo info;
private final GeoConverter geoConverter;
/**
* Constructor
*
* @param info the tile factory info
* @param geoConverter the geo converter
*/
public TileFactoryInfoTileProvider(TileFactoryInfo info, GeoConverter geoConverter) {
super();
this.info = info;
this.geoConverter = geoConverter;
}
/**
* @see AbstractTileProvider#createConverter()
*/
@Override
protected PixelConverter createConverter() {
return new TileFactoryInfoConverter(info, geoConverter);
}
/**
* @see TileProvider#getDefaultZoom()
*/
@Override
public int getDefaultZoom() {
return info.getDefaultZoomLevel();
}
/**
* @see TileProvider#getMapHeightInTiles(int)
*/
@Override
public int getMapHeightInTiles(int zoom) {
// TileFactoryInfo doesn't support non square tile layout
return info.getMapWidthInTilesAtZoom(zoom);
}
/**
* @see TileProvider#getMapWidthInTiles(int)
*/
@Override
public int getMapWidthInTiles(int zoom) {
return info.getMapWidthInTilesAtZoom(zoom);
}
/**
* @see TileProvider#getMaximumZoom()
*/
@Override
public int getMaximumZoom() {
return info.getMaximumZoomLevel();
}
/**
* @see TileProvider#getMinimumZoom()
*/
@Override
public int getMinimumZoom() {
return info.getMinimumZoomLevel();
}
/**
* @see TileProvider#getTileHeight(int)
*/
@Override
public int getTileHeight(int zoom) {
return info.getTileSize(zoom);
}
/**
* @see TileProvider#getTileWidth(int)
*/
@Override
public int getTileWidth(int zoom) {
return info.getTileSize(zoom);
}
/**
* @see TileProvider#getTileUris(int, int, int)
*/
@Override
public URI[] getTileUris(int x, int y, int zoom) {
try {
String[] urls = info.getTileUrls(x, y, zoom);
if (urls == null)
return null;
else {
URI[] result = new URI[urls.length];
for (int i = 0; i < urls.length; ++i) {
result[i] = URI.create(urls[i]);
}
return result;
}
} catch (Exception e) {
return null;
}
}
/**
* @see TileProvider#getTotalMapZoom()
*/
@Override
public int getTotalMapZoom() {
return info.getTotalMapZoom();
}
}