aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2012-03-20 15:53:23 +0000
committerMatthew Somerville <matthew@mysociety.org>2012-03-20 15:53:23 +0000
commita957f24e1fe39914513ef9af18f1a4be37bf2fab (patch)
tree67cb7e65912a616355d0272329bff9002bfed7c1
parentdaa508bcf8c193fc90786c628cdcca76abfedb30 (diff)
parentedc9d8fb84dbcbc68d7459e2c89b7d80a32099af (diff)
Merge remote branch 'grischard/mapquest'
-rw-r--r--perllib/FixMyStreet/Map/OSM/MapQuest.pm33
-rw-r--r--web/js/map-OpenStreetMap.js22
2 files changed, 47 insertions, 8 deletions
diff --git a/perllib/FixMyStreet/Map/OSM/MapQuest.pm b/perllib/FixMyStreet/Map/OSM/MapQuest.pm
new file mode 100644
index 000000000..9cf6de01f
--- /dev/null
+++ b/perllib/FixMyStreet/Map/OSM/MapQuest.pm
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+#
+# FixMyStreet:Map::OSM::CycleMap
+# OSM CycleMap maps on FixMyStreet.
+#
+# Copyright (c) 2010 UK Citizens Online Democracy. All rights reserved.
+# Email: matthew@mysociety.org; WWW: http://www.mysociety.org/
+
+package FixMyStreet::Map::OSM::MapQuest;
+use base 'FixMyStreet::Map::OSM';
+
+use strict;
+
+sub map_type {
+ return 'OpenLayers.Layer.OSM.MapQuestOpen';
+}
+
+sub map_tiles {
+ my ($self, $x, $y, $z) = @_;
+ my $tile_url = $self->base_tile_url();
+ return [
+ "http://otile1.$tile_url/$z/" . ($x - 1) . "/" . ($y - 1) . ".png",
+ "http://otile2.$tile_url/$z/$x/" . ($y - 1) . ".png",
+ "http://otile3.$tile_url/$z/" . ($x - 1) . "/$y.png",
+ "http://otile4.$tile_url/$z/$x/$y.png",
+ ];
+}
+
+sub base_tile_url {
+ return 'mqcdn.com/tiles/1.0.0/osm/';
+}
+
+1;
diff --git a/web/js/map-OpenStreetMap.js b/web/js/map-OpenStreetMap.js
index 50f159635..54bf95964 100644
--- a/web/js/map-OpenStreetMap.js
+++ b/web/js/map-OpenStreetMap.js
@@ -79,14 +79,14 @@ OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
});
/**
- * Class: OpenLayers.Layer.OSM.Osmarender
+ * Class: OpenLayers.Layer.OSM.MapQuestOpen
*
* Inherits from:
* - <OpenLayers.Layer.OSM>
*/
-OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
+OpenLayers.Layer.OSM.MapQuestOpen = OpenLayers.Class(OpenLayers.Layer.OSM, {
/**
- * Constructor: OpenLayers.Layer.OSM.Osmarender
+ * Constructor: OpenLayers.Layer.OSM.MapQuestOpen
*
* Parameters:
* name - {String}
@@ -94,16 +94,22 @@ OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
*/
initialize: function(name, options) {
var url = [
- "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
- "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
- "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
+ "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"
];
- options = OpenLayers.Util.extend({ numZoomLevels: 18, buffer: 0 }, options);
+ options = OpenLayers.Util.extend({
+ /* Below line added to OSM's file in order to allow minimum zoom level */
+ maxResolution: 156543.0339/Math.pow(2, options.zoomOffset || 0),
+ numZoomLevels: 19,
+ buffer: 0
+ }, options);
var newArguments = [name, url, options];
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
},
- CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender"
+ CLASS_NAME: "OpenLayers.Layer.OSM.MapQuestOpen"
});
/**