package com.nutiteq.maps;
import com.nutiteq.maps.projections.EPSG3785;
import com.nutiteq.ui.Copyright;
import com.nutiteq.ui.StringCopyright;
public class BlomOrthoMap extends EPSG3785 implements UnstreamedMap {
private static final String BASEURL = "http://www.blomurbex.com/v02/GetTile";
private final String licenseKey;
private final String layer;
public static final String ORTHO = "ORTHO";
public static final String NORTH = "NORTH";
public static final String WEST = "WEST";
public static final String EAST = "EAST";
public static final String SOUTH = "SOUTH";
public BlomOrthoMap(final String licenseKey, final String layer) {
this(new StringCopyright("BLOM"), licenseKey, layer);
}
public BlomOrthoMap(final Copyright copyright, final String licenseKey, final String layer) {
super(copyright, 256, 5, 20);
this.licenseKey = licenseKey;
this.layer = layer;
}
public String buildPath(final int mapX, final int mapY, final int zoom) {
final int tmpX = mapX / 256;
final int tmpY = mapY / 256;
final StringBuffer url = new StringBuffer(BASEURL);
url.append("?USERTOKEN=");
url.append(licenseKey);
url.append("&SRS=EPSG%3A3785&LAYER=");
url.append(layer);
url.append("&ID=");
for (int i = zoom - 1; i >= 0; i--) {
url.append((((tmpY >> i) & 1) << 1) + ((tmpX >> i) & 1));
}
return url.toString();
}
}