// License: GPL. For details, see Readme.txt file. package org.openstreetmap.gui.jmapviewer.tilesources; import java.awt.Image; import org.openstreetmap.gui.jmapviewer.interfaces.ICoordinate; /** * Abstract class for OSM Tile sources */ public abstract class AbstractOsmTileSource extends TMSTileSource { /** * The OSM attribution. Must be always in line with * <a href="https://www.openstreetmap.org/copyright/en">https://www.openstreetmap.org/copyright/en</a> */ public static final String DEFAULT_OSM_ATTRIBUTION = "\u00a9 OpenStreetMap contributors"; /** * Constructs a new OSM tile source * @param name Source name as displayed in GUI * @param baseUrl Source URL * @param id unique id for the tile source; contains only characters that * are safe for file names; can be null */ public AbstractOsmTileSource(String name, String baseUrl, String id) { super(new TileSourceInfo(name, baseUrl, id)); } @Override public int getMaxZoom() { return 19; } @Override public boolean requiresAttribution() { return true; } @Override public String getAttributionText(int zoom, ICoordinate topLeft, ICoordinate botRight) { return DEFAULT_OSM_ATTRIBUTION; } @Override public String getAttributionLinkURL() { return "https://openstreetmap.org/"; } @Override public Image getAttributionImage() { return null; } @Override public String getAttributionImageURL() { return null; } @Override public String getTermsOfUseText() { return null; } @Override public String getTermsOfUseURL() { return "https://www.openstreetmap.org/copyright"; } }