Fetch OpenLayers from the same server as the embed page
[rails.git] / public / export / embed.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3   <head>
4     <title>OpenStreetMap Embedded</title>
5     <style type="text/css">
6         html {
7             width: 100%;
8             height: 100%;
9         }
10         body {
11             width: 100%;
12             height: 100%;
13             margin: 0px;
14         }
15         #map {
16             width: 100%;
17             height: 100%;
18         }
19         .olControlAttribution {
20             bottom: 3px!important;
21         }
22     </style>
23     <script src="/openlayers/OpenLayers.js" type="text/javascript"></script>
24     <script src="/openlayers/OpenStreetMap.js" type="text/javascript"></script>
25     <script type="text/javascript">
26     <!--
27         var map, layer;
28         function init(){
29             map = new OpenLayers.Map ("map", {
30               controls: [
31                   new OpenLayers.Control.Attribution(),
32                   new OpenLayers.Control.Navigation()
33               ],
34               maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,
35                                                20037508.34,20037508.34),
36               numZoomLevels: 20,
37               maxResolution: 156543.0339,
38               displayProjection: new OpenLayers.Projection("EPSG:4326"),
39               units: 'm',
40               projection: new OpenLayers.Projection("EPSG:900913")
41             });
42
43             var attribution = '(C) <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a> and contributors, <a target="_parent" href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>';
44             var args = OpenLayers.Util.getParameters();
45             if (!args.layer || args.layer == "mapnik") {
46                 var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
47                    displayOutsideMaxExtent: true,
48                    wrapDateLine: true,
49                    attribution: attribution
50                 });
51                 map.addLayer(mapnik);
52             } else if (args.layer == "osmarender") {
53                 var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", {
54                    displayOutsideMaxExtent: true,
55                    wrapDateLine: true,
56                    attribution: attribution
57                 });
58                 map.addLayer(osmarender);
59             } else if (args.layer == "cyclemap" || args.layer == "cycle map") {
60                 var cyclemap = new OpenLayers.Layer.OSM.CycleMap("Cycle Map", {
61                    displayOutsideMaxExtent: true,
62                    wrapDateLine: true,
63                    attribution: attribution
64                 });
65                 map.addLayer(cyclemap);
66             }
67
68             if (args.marker) {
69                 var markers = new OpenLayers.Layer.Markers();
70                 map.addLayer(markers);
71                 markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(args.marker[1], args.marker[0]).transform(map.displayProjection, map.getProjectionObject())));
72                 map.marker = true;
73             }
74
75             if (args.bbox) {
76                 var bounds = OpenLayers.Bounds.fromArray(args.bbox).transform(map.displayProjection, map.getProjectionObject());
77                 map.zoomToExtent(bounds)
78             } else {
79                 map.zoomToMaxExtent();
80             }
81
82             var size = map.getSize();
83             if (size.h > 320) {
84                 map.addControl(new OpenLayers.Control.PanZoomBar());
85             } else {
86                 map.addControl(new OpenLayers.Control.PanZoom());
87             }
88         }
89     // -->
90     </script>
91   </head>
92
93   <body onload="init()">
94     <div id="map"></div>
95   </body>
96 </html>