source: subversion/applications/rendering/gpx_slippy_map/index.php @ 7918

Last change on this file since 7918 was 7918, checked in by ojw, 12 years ago

redirect to the list of tracks, if none was specified

File size: 3.1 KB
Line 
1<?php
2if(!array_key_exists('gpx', $_GET))
3{
4  header("Location:list.php");
5  exit;
6}
7?>
8<html>
9<head>
10    <script src="http://openlayers.org/api/OpenLayers.js"></script>
11    <script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
12
13    <script type="text/javascript">
14        <?php
15        $z = floor($_GET['zoom'] + 0);
16        $lat = $_GET['lat'] + 0;
17        $lon = $_GET['lon'] + 0;
18        print " var lat = $lat;\n var lon = $lon;\n var zoom = $z;\n";
19       
20        $Base = '';
21        $Title = "OpenStreetMap tracklog viewer";
22        $Tiles = 'tile.php?';
23        $gpx = 0;
24        if(array_key_exists('gpx', $_GET))
25        {
26          $gpx = floor($_GET['gpx'] + 0);
27          $Base = sprintf("?gpx=%d", $gpx);
28          $Tiles .= sprintf("gpx=%d&t=", $gpx);
29          $Title = sprintf("Tracklog #%d", $gpx);
30        }
31          #$Tiles .= sprintf("t=", $gpx);
32       
33        print "var routeServer = '$Tiles'\n";
34        print "var extraUrlParams = '$Base';\n";
35        ?>
36       
37        if (zoom==0)
38        {
39         zoom = 2;
40         lon = 1.0996;
41         lat = 35.5862;
42        }
43
44        lat=parseFloat(lat)
45        lon=parseFloat(lon)
46        zoom=parseInt(zoom)
47               
48        var map; //complex object of type OpenLayers.Map
49
50        //Initialise the 'map' object
51        function init() {
52         
53            map = new OpenLayers.Map ("map", {
54                controls:[
55                    new OpenLayers.Control.Navigation(),
56                    new OpenLayers.Control.Permalink('',extraUrlParams,''),
57                     new OpenLayers.Control.LayerSwitcher(),
58                    new OpenLayers.Control.PanZoomBar()],
59                maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
60                maxResolution: 156543.0399,
61                numZoomLevels: 19,
62                units: 'meters',
63                projection: new OpenLayers.Projection("EPSG:900913"),
64                displayProjection: new OpenLayers.Projection("EPSG:4326")
65            } );
66               
67           
68            // Base map
69            layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
70
71            // GPX overlay
72            route = new OpenLayers.Layer.OSM(
73              "Route",
74              routeServer,
75              {
76                isBaseLayer: false,
77                type:'png',
78              },
79              {'buffer':1});
80
81
82            map.addLayer(layerTilesAtHome);
83            map.addLayer(route);
84
85            var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
86
87            map.setCenter (lonLat, zoom);
88        }
89       
90    </script>
91   
92<?php
93print "<title>$Title</title>\n";
94?>
95</head><body onload="init();">
96
97<div style="width:100%; height:100%" id="map">
98<!-- <div style="position:absolute; bottom:10px;width:700px;"><form action='./' method='get'>
99<input type='text' size='10' name='gpx' value='<?php print $gpx ?>' />
100<input type='submit' value='View GPX' />
101<a href="http://openstreetmap.org/traces/">List of GPX traces</a>
102</form></div> -->
103
104</div>
105
106</body>
107</html>
Note: See TracBrowser for help on using the repository browser.