+++ /dev/null
-package tim.prune.gui.map;
-
-/**
- * Class to act as a source for Cloudmade maps with a given style
- */
-public class CloudmadeMapSource extends OsmMapSource
-{
- /** Selected style number */
- private String _style = null;
- /** Server prefix including API-key unique to GpsPrune application */
- private static final String SERVER_PREFIX = "[abc].tile.cloudmade.com/03d86b66f51f4a3b8c236ac06f2a2e57/";
-
- /**
- * Constructor
- * @param inName name to use for map source
- * @param inStyle style, given as integer
- * @param inMaxZoom maximum zoom level, 18 by default
- */
- public CloudmadeMapSource(String inName, String inStyle, int inMaxZoom)
- {
- // Note: Could check style for valid integer value here
- super(inName, SERVER_PREFIX + inStyle + "/256/", null, inMaxZoom);
- _style = inStyle;
- }
-
- /**
- * @return semicolon-separated list of all fields
- */
- public String getConfigString()
- {
- return "c:" + getName() + ";" + _style + ";" + getMaxZoomLevel();
- }
-
- /**
- * Construct a new map source from its config string
- * @param inConfigString string from Config, separated by semicolons
- * @return new map source, or null if not parseable
- */
- public static CloudmadeMapSource fromConfig(String inConfigString)
- {
- CloudmadeMapSource source = null;
- if (inConfigString.startsWith("c:"))
- {
- String[] items = inConfigString.substring(2).split(";");
- try {
- if (items.length == 3) {
- source = new CloudmadeMapSource(items[0], items[1], Integer.parseInt(items[2]));
- }
- } catch (NumberFormatException nfe) {}
- }
- return source;
- }
-
- /**
- * @return style as string, only required to populate edit dialog
- */
- public String getStyle()
- {
- return _style;
- }
-}