<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>SphericalMercator</title>
<style>
body{
font-family:Arial;
background-color:#FFFFEE;
width:100%;
height:100%;
margin:0px;
overflow:hidden;
}
#map{
position:absolute;
width:100%;
height:100%;
background-color:#EEFFEE;
}
</style>
<script type="text/javascript" src="OpenLayers2.5RC1full.js"></script>
<!-- Localhost key -->
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAeDjUod8ItM9dBg5_lz0esxTk5UTxNMOJaMwpeYJby65YwI0-cxSmHf2_ZfIP7bDb_moMph5qZy25YA" type="text/javascript"></script>
<script type="text/javascript">
var appsDir = "g-info/apps/SphericalMercator/htdocs";
var map, vlayer;
var myBounds = new OpenLayers.Bounds(-120037508.34, -120037508.34, 120037508.34, 120037508.34); //SphericalMercator
var maxScale = 49308282988283.56;
var mymaxZoomLevel = 22;
var myZoomLevel = 12;
var mymaxResolution = 156543.0339;
var mySRS = "EPSG:900913";
var myCenter = new OpenLayers.LonLat(825328.813, 6693208.381);
var mapfile = appsDir + "/SphericalMercator.map"
var mapservexe = "http://" + window.location.host + "/mapserver/scripts/mapserv.exe";
//2 resolutions appended (in some areas a larger zoom is possible)
OpenLayers.Layer.Google.prototype.RESOLUTIONS = [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.0000429153442382812,0.0000214576721191406,0.0000107288360595703,0.00000536441802978516,0.00000268220901489258,0.00000134110450744629,6.70552253723145e-7,3.35276126861572e-7];
OpenLayers.Layer.Google.prototype.MAX_ZOOM_LEVEL = 22;
OpenLayers.Layer.Google.prototype.addContainerPxFunction=function() {
if (typeof GMap2 != "undefined" && !GMap2.fromLatLngToContainerPixel) {
GMap2.prototype.fromLatLngToContainerPixel = function(gLatLng) {
// first we translate into "DivPixel"
var gPoint = this.fromLatLngToDivPixel(gLatLng);
// locate the sliding "Div" div
var div = this.getContainer().firstChild.firstChild;
// adjust by the offset of "Div" and voila!
gPoint.x += div.offsetLeft;
gPoint.y += div.offsetTop;
return gPoint;
};
}
};
// avoid pink tiles
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 0;
OpenLayers.Util.onImageLoadError = function() { this.style.display = "transparent"; }
function init()
{
var options = {
projection : mySRS,
units : "m",
maxResolution : mymaxResolution,
maxExtent : myBounds,
maxZoomLevel : mymaxZoomLevel,
controls : [],
numZoomLevels : mymaxZoomLevel
};
map = new OpenLayers.Map('map', options);
// create Google Mercator layers
var gmap = new OpenLayers.Layer.Google("Google Streets", {type: G_NORMAL_MAP, 'maxZoomLevel':22, 'sphericalMercator': true});
var gsat = new OpenLayers.Layer.Google("Google Sattelite", {type: G_SATELLITE_MAP, 'maxZoomLevel':22, 'sphericalMercator': true});
var ghyb = new OpenLayers.Layer.Google("Google Hybrid", {type: G_HYBRID_MAP, 'maxZoomLevel':22, 'sphericalMercator': true});
vlayer = new OpenLayers.Layer.Vector( "Editable" );
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
map.addLayers([gsat, gmap, ghyb, vlayer]);
map.addControl(new OpenLayers.Control.PanZoomBar(), new OpenLayers.Pixel(2,20));
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MouseDefaults());
map.addControl(new OpenLayers.Control.MousePosition({element:document.getElementById("rota"), numdigits:3}));
map.setCenter(myCenter, myZoomLevel);
}
//##############################################################################
//##############################################################################
//##############################################################################
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>