package com.nutiteq.maps;
import com.nutiteq.maps.projections.EPSG3785;
import com.nutiteq.ui.Copyright;
import com.nutiteq.ui.StringCopyright;
public class NavteqMapTP extends EPSG3785 implements UnstreamedMap {
private final String mid;
private String baseUrl = "http://maptp12.map24.com/map24/webservices1.5?cgi=Map24RenderEngine&mid=";
public NavteqMapTP(final String baseUrl, final String mid) {
this(new StringCopyright("Navteq MapTP"), mid);
this.baseUrl = baseUrl;
}
public NavteqMapTP(final Copyright copyright, final String baseUrl,
final String mid) {
this(copyright, mid);
this.baseUrl = baseUrl;
}
public NavteqMapTP(final String mid) {
this(new StringCopyright("Navteq MapTP"), mid);
}
public NavteqMapTP(final Copyright copyright, final String mid) {
super(copyright, 256, 1, 17);
this.mid = mid;
}
public String buildPath(final int mapX, final int mapY, final int zoom) {
final int tmpX = mapX / 256;
final int tmpY = mapY / 256;
final StringBuffer buf = new StringBuffer();
buf.append(baseUrl);
buf.append(mid);
buf.append("&quadkey=");
for (int i = zoom - 1; i >= 0; i--) {
buf.append((((tmpY >> i) & 1) << 1) + ((tmpX >> i) & 1));
}
return buf.toString();
}
}