<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&amp;v=2&amp;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>