Panotools-Script

 view release on metacpan or  search on metacpan

bin/gmaptemplate  view on Meta::CPAN


      var c=Math.pow(2,b);

        var d=a.x;
        var e=a.y;
        var f="$prefix";
        for(var g=0;g<b;g++){
            c=c/2;
            if(e<c){
                if(d<c){f+="q"}
                else{f+="r";d-=c}
            }
            else{
                if(d<c){f+="t";e-=c}
                else{f+="s";d-=c;e-=c}
            }
        }
        return f+".jpg"
    }


    function getWindowHeight() {
        if (window.self&&self.innerHeight) {
            return self.innerHeight;
        }
        if (document.documentElement&&document.documentElement.clientHeight) {
            return document.documentElement.clientHeight;
        }
        return 0;
    }

    function resizeMapDiv() {
        //Resize the height of the div containing the map.
        //Do not call any map methods here as the resize is called before the map is created.
    	var d=document.getElementById("map");
        var offsetTop=0;
        for (var elem=d; elem!=null; elem=elem.offsetParent) {
            offsetTop+=elem.offsetTop;
        }
        var height=getWindowHeight()-offsetTop-16;
        if (height>=0) {
            d.style.height=height+"px";
        }
    }


    function load() {
      if (GBrowserIsCompatible()) {
        resizeMapDiv();
        var copyright = new GCopyright(1,
                              new GLatLngBounds(new GLatLng(-90, -180),
                                                new GLatLng(90, 180)),
                              0,
                              "<a href=\\"http://hugin.sourceforge.net/\\">$title</a>");
        var copyrightCollection = new GCopyrightCollection("Hugin");
        copyrightCollection.addCopyright(copyright);

        //create a custom picture layer
        var pic_tileLayers = [ new GTileLayer(copyrightCollection , 0, 17)];
        pic_tileLayers[0].getTileUrl = customGetTileURL;
        pic_tileLayers[0].isPng = function() { return false; };
        pic_tileLayers[0].getOpacity = function() { return 1.0; };
        var proj=new CustomProjection($maxzoomp1,imageWraps);
        var pic_customMap = new GMapType(pic_tileLayers, proj, "Pic",
            {maxResolution:$maxzoom, minResolution:$minres, errorMessage:"This space intentionally left blank"});


        //Now create the custom map. Would normally be G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP
        map = new GMap2(document.getElementById("map"),{mapTypes:[pic_customMap]});
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
	map.addControl(new GOverviewMapControl());
        map.enableDoubleClickZoom();
	map.enableContinuousZoom();
	map.enableScrollWheelZoom();
        map.setCenter(new GLatLng(centreLat, centreLon), initialZoom, pic_customMap);

/////////////////////////////////////////////////////////////////////////////////////
//Add any markers here e.g.
//      map.addOverlay(new GMarker(new GLatLng(x,y)));
/////////////////////////////////////////////////////////////////////////////////////

      }
    }

    //]]>
    </script>
  </head>
  <body onresize="resizeMapDiv()" onload="load()" onunload="GUnload()">
    <div id="map"></div>
  </body>
</html>
@;

__END__

=head1 NAME

gmaptemplate - HTML template for viewing tiled images with the Google Map API

=head1 SYNOPSIS

gmaptemplate > index.html

 Options:
  --title title      The content of the HTML <title> tag
  --prefix prefix    File prefix of tiles relative to root directory
  --apikey key       A Google Maps API key
  --centrelat deg    Latitude -90 to 90
  --centrelon deg    Longitude -180 to 180
  --initialzoom num  Start zoom level
  --maxzoom num      Maximum zoom level
  --maxzoomp1 num    Maximum zoom level +1
  --minres num       Minimum zoom level

=head1 DESCRIPTION

B<gmaptemplate> is a simple tool to write a HTML file based on a template in
the Google Map Image Cutter tool:
L<http://www.casa.ucl.ac.uk/software/googlemapimagecutter.asp>



( run in 0.804 second using v1.01-cache-2.11-cpan-39bf76dae61 )