From f92accdd896c94c0605eb4069e87606e582f2cae Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Mon, 11 Nov 2013 02:35:10 +0000 Subject: [PATCH] basemap-staman: changed from using their library to direct tile url references this allows us to switch http/https as required, and fixes a bug with remembering default layers on IITC startup --- plugins/basemap-stamen.user.js | 45 +++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/plugins/basemap-stamen.user.js b/plugins/basemap-stamen.user.js index 2478e076..babbade4 100644 --- a/plugins/basemap-stamen.user.js +++ b/plugins/basemap-stamen.user.js @@ -2,7 +2,7 @@ // @id iitc-plugin-basemap-stamen@jonatkins // @name IITC plugin: Map layers from stamen.com // @category Map Tiles -// @version 0.1.0.@@DATETIMEVERSION@@ +// @version 0.2.0.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -22,34 +22,45 @@ // use own namespace for plugin window.plugin.mapTileStamen = function() {}; -window.plugin.mapTileStamen.setup = function() { - - load('http://maps.stamen.com/js/tile.stamen.js?v1.2.3').thenRun(window.plugin.mapTileStamen.addLayer); -} window.plugin.mapTileStamen.addLayer = function() { var types = { - 'toner': 'Toner', -// 'toner-hybrid': 'Toner Hybrid', // transparent layer. could be usefun over satelliate imagery or similar -// 'toner-labels': 'Toner Labels', // transparent layer. could be usefun over satelliate imagery or similar -// 'toner-lines': 'Toner Lines', // transparent layer. could be usefun over satelliate imagery or similar - 'toner-background': 'Toner Background', - 'toner-lite': 'Toner Lite', - 'watercolor': 'Watercolor', + 'toner': [ 'Toner', 'png', 0, 20 ], +// 'toner-hybrid': [ ' Toner Hybrid', 'png', 0, 20 ], // transparent layer. could be usefun over satelliate imagery or similar +// 'toner-labels': [ 'Toner Labels', 'png', 0, 20 ], // transparent layer. could be usefun over satelliate imagery or similar +// 'toner-lines': [ 'Toner Lines', 'png', 0, 20 ], // transparent layer. could be usefun over satelliate imagery or similar + 'toner-background': [ 'Toner Background', 'png', 0, 20 ], + 'toner-lite': [ 'Toner Lite', 'png', 0, 20 ], + 'watercolor': [ 'Watercolor', 'jpg', 1, 16 ], }; - for (var type in types) { - var name = types[type]; + var baseUrl = window.location.protocol == 'https:' ? 'https://stamen-tiles-{s}.a.ssl.fastly.net/' : 'http://{s}.tile.stamen.com/'; - var layer = new L.StamenTileLayer(type); - layerChooser.addBaseLayer(layer,'Stamen '+name); + for (var layer in types) { + var info = types[layer]; + + var name = info[0]; + var type = info[1]; + var minZoom = info[2]; + var maxZoom = info[3]; + + var mapLayer = new L.TileLayer (baseUrl+'{layer}/{z}/{x}/{y}.{type}', { + attribution: 'Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.', + subdomains: 'abcd', + layer: layer, + type: type, + minZoom: minZoom, + maxZoom: maxZoom + }); + + layerChooser.addBaseLayer(mapLayer,'Stamen '+name); } }; -var setup = window.plugin.mapTileStamen.setup; +var setup = window.plugin.mapTileStamen.addLayer; // PLUGIN END //////////////////////////////////////////////////////////