Unless stated otherwise, code available for viewing through this tool is dedicated to the public domain. If you have any questions, drop me a line.
var map;
var tileServer = 0;
var tileVersion = 2.61;
function getNavTeq() {
copyrights = new GCopyrightCollection('Map data');
copyrights.addCopyright(new GCopyright(
'gmaps-navteq',
new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)),
0,
'©2007 NAVTEQ'
));
var tileset = new GTileLayer(copyrights, 0, 17);
tileset.getTileUrl = function(tile, zoom){
tileServer++;
if (tileServer > 3) tileServer = 0;
return 'http://mt' + tileServer + '.google.com/mt?n=404&v=w' + tileVersion + '&x=' + tile.x + '&y=' + tile.y + '&zoom=' + (17 - zoom) + '';
};
tileset.isPng = function() { return false; }
tileset.getOpacity = function() { return 1.0; }
var maptype = new GMapType(
[tileset],
new GMercatorProjection(17),
'NAVTEQ',
{
shortName:'NT',
tileSize:256,
maxResolution:17,
minResolution:0
}
);
return maptype;
}
function windowHeight() {
// Standard browsers (Mozilla, Safari, etc.)
if (self.innerHeight)
return self.innerHeight;
// IE 6
if (document.documentElement && document.documentElement.clientHeight)
return document.documentElement.clientHeight;
// IE 5
if (document.body)
return document.body.clientHeight;
// Just in case.
return 0;
}
function handleResize() {
var height = windowHeight() - document.getElementById('toolbar').offsetHeight - 30;
document.getElementById('map').style.height = height + 'px';
document.getElementById('sidebar').style.height = height + 'px';
}
function setPermalink() {
document.getElementById('permalink-link').setAttribute('href', '?ll=' + map.getCenter().toUrlValue() + '&z=' + map.getZoom());
}
function init() {
handleResize();
map = new GMap(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
G_NORMAL_MAP.getName = function() { return 'TeleAtlas'; }
map.addMapType(G_NORMAL_MAP);
map.addMapType(getNavTeq());
map.removeMapType(G_HYBRID_MAP);
map.removeMapType(G_SATELLITE_MAP);
map.addControl(new GMapTypeControl());
GEvent.addListener(map, 'moveend', setPermalink);
setPermalink();
}
window.onresize = handleResize;
window.onload = init;