Remove the noname layer and add the transport and MapQuest layers
authorTom Hughes <tom@compton.nu>
Thu, 24 Nov 2011 22:03:04 +0000 (22:03 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 25 Nov 2011 11:55:12 +0000 (11:55 +0000)
app/assets/javascripts/map.js.erb
config/locales/en.yml
public/openlayers/OpenStreetMap.js

index 632f31456493badad09a46c135641e1f2332434e..0dfb7e31f127dde1b80ddcb4c912fd9b07c0634a 100644 (file)
@@ -4,15 +4,6 @@ var markers;
 var vectors;
 var popup;
 
-var nonamekeys = {
-   'openstreetmap.org': '2f59745a6b525b4ebdb100891d5b6711',
-   'www.openstreetmap.org': 'fd093e52f0965d46bb1c6c6281022199',
-   'openstreetmap.com': '4c60e7f5f31c576a9bb8da71c8d61152',
-   'www.openstreetmap.com': '142f25a0770a51a9a400b3513834a199',
-   'openstreetmap.net': '687c58fd1d715596bfc94abe653d8ac0',
-   'www.openstreetmap.net': '0bd1654141c85d30b9c2ccdb5302f2e4'
-};
-
 function createMap(divName, options) {
    options = options || {};
 
@@ -56,18 +47,27 @@ function createMap(divName, options) {
    });
    map.addLayer(cyclemap);
 
-   var nonamekey = nonamekeys[document.domain];
-   var noname = new OpenLayers.Layer.OSM(i18n("javascripts.map.base.noname"), [
-      "http://a.tile.cloudmade.com/" + nonamekey + "/3/256/${z}/${x}/${y}.png",
-      "http://b.tile.cloudmade.com/" + nonamekey + "/3/256/${z}/${x}/${y}.png",
-      "http://c.tile.cloudmade.com/" + nonamekey + "/3/256/${z}/${x}/${y}.png"
+   var transportmap = new OpenLayers.Layer.OSM.TransportMap(i18n("javascripts.map.base.transport_map"), {
+      keyid: "transportmap",
+      displayOutsideMaxExtent: true,
+      wrapDateLine: true,
+      layerCode: "T"
+   });
+   map.addLayer(transportmap);
+
+   var mapquest = new OpenLayers.Layer.OSM(i18n("javascripts.map.base.mapquest"), [
+      "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"
    ], {
+      keyid: "mapquest",
       displayOutsideMaxExtent: true,
       wrapDateLine: true,
       numZoomLevels: 19,
-      layerCode: "N"
+      layerCode: "Q"
    });
-   map.addLayer(noname);
+   map.addLayer(mapquest);
 
    var numZoomLevels = Math.max(mapnik.numZoomLevels, osmarender.numZoomLevels);
 
index 0d7e3d44487861693e41013c5a95e37a71de4044..5ed8267eca3094e26367bcf71f0546ada481c4ab 100644 (file)
@@ -1907,7 +1907,8 @@ en:
         mapnik: Mapnik
         osmarender: Osmarender
         cycle_map: Cycle Map
-        noname: NoName
+        transport_map: Transport Map
+        mapquest: MapQuest Open
       overlays:
         maplint: Maplint
     site:
index aebfa65db04eb6e7289b856b8cea03a1fdf1c352..68620dacb3ecbe520ee829e2ce15ce1886b1e6bd 100644 (file)
@@ -123,3 +123,35 @@ OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
 
     CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap"
 });
+
+/**
+ * Class: OpenLayers.Layer.OSM.TransportMap
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.OSM>
+ */
+OpenLayers.Layer.OSM.TransportMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
+    /**
+     * Constructor: OpenLayers.Layer.OSM.TransportMap
+     *
+     * Parameters:
+     * name - {String}
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, options) {
+        var url = [
+            "http://a.tile2.opencyclemap.org/transport/${z}/${x}/${y}.png",
+            "http://b.tile2.opencyclemap.org/transport/${z}/${x}/${y}.png",
+            "http://c.tile2.opencyclemap.org/transport/${z}/${x}/${y}.png"
+        ];
+        options = OpenLayers.Util.extend({
+            numZoomLevels: 19,
+            buffer: 0,
+            transitionEffect: "resize"
+        }, options);
+        var newArguments = [name, url, options];
+        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.OSM.TransportMap"
+});