From 671fe0bb911bf73747752b74bd151ee531ff0279 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Thu, 24 Nov 2011 22:03:04 +0000 Subject: [PATCH] Remove the noname layer and add the transport and MapQuest layers --- app/assets/javascripts/map.js.erb | 32 +++++++++++++++--------------- config/locales/en.yml | 3 ++- public/openlayers/OpenStreetMap.js | 32 ++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/map.js.erb b/app/assets/javascripts/map.js.erb index 632f31456..0dfb7e31f 100644 --- a/app/assets/javascripts/map.js.erb +++ b/app/assets/javascripts/map.js.erb @@ -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); diff --git a/config/locales/en.yml b/config/locales/en.yml index 0d7e3d444..5ed8267ec 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -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: diff --git a/public/openlayers/OpenStreetMap.js b/public/openlayers/OpenStreetMap.js index aebfa65db..68620dacb 100644 --- a/public/openlayers/OpenStreetMap.js +++ b/public/openlayers/OpenStreetMap.js @@ -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.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" +}); -- 2.43.2