aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/map-mastermap.js
diff options
context:
space:
mode:
authorChris Mytton <chrismytton@gmail.com>2019-11-15 15:59:44 +0000
committerChris Mytton <chrismytton@gmail.com>2019-11-27 13:41:58 +0000
commit7ce3a0a38967bd5a35b20b95c38c5471d44998e4 (patch)
treeaac5adbb693b8e15c8cd8ec8c649646301888152 /web/js/map-mastermap.js
parent7ea719a848046c072472360c9d7f925721cead49 (diff)
[Peterborough] Add OS MasterMap map tiles
This adds a new "MasterMap" map type which uses tiles from Tilma to display MasterMap data.
Diffstat (limited to 'web/js/map-mastermap.js')
-rw-r--r--web/js/map-mastermap.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/web/js/map-mastermap.js b/web/js/map-mastermap.js
new file mode 100644
index 000000000..d12a79bd0
--- /dev/null
+++ b/web/js/map-mastermap.js
@@ -0,0 +1,24 @@
+fixmystreet.maps.config = (function(original) {
+ return function(){
+ original();
+ fixmystreet.map_type = OpenLayers.Layer.MasterMap;
+ };
+})(fixmystreet.maps.config);
+
+OpenLayers.Layer.MasterMap = OpenLayers.Class(OpenLayers.Layer.BingUK, {
+ get_urls: function(bounds, z) {
+ if (z < 17) {
+ return OpenLayers.Layer.BingUK.prototype.get_urls.apply(this, arguments);
+ }
+
+ var urls = [];
+ var servers = [ '', 'a.', 'b.', 'c.' ];
+ var base = "//{S}tilma.mysociety.org/mastermap/${z}/${x}/${y}.png";
+ for (var i=0; i < servers.length; i++) {
+ urls.push( base.replace('{S}', servers[i]) );
+ }
+ return urls;
+ },
+
+ CLASS_NAME: "OpenLayers.Layer.MasterMap"
+});