001 package org.openstreetmap.gui.jmapviewer.tilesources;
002
003 public class OsmTileSource {
004
005 public static final String MAP_MAPNIK = "http://tile.openstreetmap.org";
006
007 public static class Mapnik extends AbstractOsmTileSource {
008 public Mapnik() {
009 super("Mapnik", MAP_MAPNIK);
010 }
011
012 public TileUpdate getTileUpdate() {
013 return TileUpdate.IfNoneMatch;
014 }
015 }
016
017 public static class CycleMap extends AbstractOsmTileSource {
018
019 private static final String PATTERN = "http://%s.tile.opencyclemap.org/cycle";
020
021 private static final String[] SERVER = { "a", "b", "c" };
022
023 private int SERVER_NUM = 0;
024
025 public CycleMap() {
026 super("OSM Cycle Map", PATTERN);
027 }
028
029 @Override
030 public String getBaseUrl() {
031 String url = String.format(this.baseUrl, new Object[] { SERVER[SERVER_NUM] });
032 SERVER_NUM = (SERVER_NUM + 1) % SERVER.length;
033 return url;
034 }
035
036 @Override
037 public int getMaxZoom() {
038 return 17;
039 }
040
041 public TileUpdate getTileUpdate() {
042 return TileUpdate.LastModified;
043 }
044 }
045 }