]> git.openstreetmap.org Git - rails.git/blobdiff - public/export/embed.html
Restrict the embedded map to the declared extent
[rails.git] / public / export / embed.html
index af45a6b1f99cea1eb631c0e19a6863d76763a128..c0036b632ed96c5ed26ce8eef128a818bdd4a5bf 100644 (file)
@@ -1,6 +1,18 @@
+<!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
 <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
+    <meta charset="utf-8">
+    <title>OpenStreetMap Embedded</title>
     <style type="text/css">
     <style type="text/css">
+        html {
+            width: 100%;
+            height: 100%;
+       }
+        body {
+            width: 100%;
+            height: 100%;
+            margin: 0px;
+        }
         #map {
             width: 100%;
             height: 100%;
         #map {
             width: 100%;
             height: 100%;
@@ -9,9 +21,10 @@
             bottom: 3px!important;
         }
     </style>
             bottom: 3px!important;
         }
     </style>
-    <script src="http://openstreetmap.org/openlayers/OpenLayers.js"></script>
-    <script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
+    <script src="/openlayers/OpenLayers.js" type="text/javascript"></script>
+    <script src="/openlayers/OpenStreetMap.js" type="text/javascript"></script>
     <script type="text/javascript">
     <script type="text/javascript">
+    <!--
         var map, layer;
         function init(){
             map = new OpenLayers.Map ("map", {
         var map, layer;
         function init(){
             map = new OpenLayers.Map ("map", {
                   new OpenLayers.Control.Attribution(),
                   new OpenLayers.Control.Navigation()
               ],
                   new OpenLayers.Control.Attribution(),
                   new OpenLayers.Control.Navigation()
               ],
-              maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,
-                                               20037508.34,20037508.34),
               numZoomLevels: 20,
               numZoomLevels: 20,
-              maxResolution: 156543.0339,
-              displayProjection: new OpenLayers.Projection("EPSG:4326"),
-              units: 'm',
-              projection: new OpenLayers.Projection("EPSG:900913")
+              displayProjection: new OpenLayers.Projection("EPSG:4326")
             });
 
             });
 
-            var attribution = 'Data by <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a>';
+            var attribution = '© <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a> and contributors, under an <a target="_parent" href="http://www.openstreetmap.org/copyright">open license</a>';
             var args = OpenLayers.Util.getParameters();
             var args = OpenLayers.Util.getParameters();
-            if (!args.layer || args.layer == "mapnik") {
+            if (!args.layer || args.layer == "mapnik" || args.layer == "osmarender") {
                 var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
                 var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
-                   displayOutsideMaxExtent: true,
                    wrapDateLine: true,
                    attribution: attribution
                 });
                 map.addLayer(mapnik);
                    wrapDateLine: true,
                    attribution: attribution
                 });
                 map.addLayer(mapnik);
-            } else if (args.layer == "osmarender") {
-                var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", {
-                   displayOutsideMaxExtent: true,
+            } else if (args.layer == "cyclemap" || args.layer == "cycle map") {
+                var cyclemap = new OpenLayers.Layer.OSM.CycleMap("Cycle Map", {
                    wrapDateLine: true,
                    attribution: attribution
                 });
                    wrapDateLine: true,
                    attribution: attribution
                 });
-                map.addLayer(osmarender);
-            } else if (args.layer == "cycle map") {
-                var cyclemap = new OpenLayers.Layer.OSM.CycleMap("Cycle Map", {
-                   displayOutsideMaxExtent: true,
+                map.addLayer(cyclemap);
+            } else if (args.layer == "transportmap") {
+                var transportmap = new OpenLayers.Layer.OSM.TransportMap("Transport Map", {
                    wrapDateLine: true,
                    attribution: attribution
                 });
                    wrapDateLine: true,
                    attribution: attribution
                 });
-                map.addLayer(cyclemap);
+                map.addLayer(transportmap);
+            } else if (args.layer == "mapquest") {
+                var mapquestmap = new OpenLayers.Layer.OSM("MapQuest Open Map", [
+                    "http://otile1.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png",
+                    "http://otile2.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png",
+                    "http://otile3.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png",
+                    "http://otile4.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png"], {
+                   wrapDateLine: true,
+                   attribution: "Tiles courtesy of <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='http://developer.mapquest.com/content/osm/mq_logo.png'>"
+                });
+                map.addLayer(mapquestmap);
             }
 
             if (args.marker) {
             }
 
             if (args.marker) {
             if (size.h > 320) {
                 map.addControl(new OpenLayers.Control.PanZoomBar());
             } else {
             if (size.h > 320) {
                 map.addControl(new OpenLayers.Control.PanZoomBar());
             } else {
-                map.addControl(new OpenLayers.Control.PanZoom());
+                map.addControl(new OpenLayers.Control.Zoom());
             }
         }
             }
         }
+    // -->
     </script>
   </head>
     </script>
   </head>
+
   <body onload="init()">
     <div id="map"></div>
   </body>
   <body onload="init()">
     <div id="map"></div>
   </body>