source: src/django_gheat/wlheatmap/static/OpenStreetMap.js@ 9401

Last change on this file since 9401 was 9401, checked in by rick, 13 years ago

Roads are yellow, so display yellow does not show properly. Make it go green.

File size: 6.8 KB
Line 
1/**
2 * Namespace: Util.OSM
3 */
4OpenLayers.Util.OSM = {};
5
6/**
7 * Constant: MISSING_TILE_URL
8 * {String} URL of image to display for missing tiles
9 */
10OpenLayers.Util.OSM.MISSING_TILE_URL = "http://openstreetmap.org/openlayers/img/404.png";
11
12/**
13 * Property: originalOnImageLoadError
14 * {Function} Original onImageLoadError function.
15 */
16OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError;
17
18/**
19 * Function: onImageLoadError
20 */
21OpenLayers.Util.onImageLoadError = function() {
22 if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org\//)) {
23 this.src = OpenLayers.Util.OSM.MISSING_TILE_URL;
24 } else if (this.src.match(/^http:\/\/[def]\.tah\.openstreetmap\.org\//)) {
25 // do nothing - this layer is transparent
26 } else {
27 OpenLayers.Util.OSM.originalOnImageLoadError;
28 }
29};
30
31var wl_balancers = ['a','b','c','d','e','f'];
32function get_balanced_urls(prefix, balancers, suffix) {
33 var urls = [];
34 for (i=0 ; i < balancers.length; i++) {
35 urls.push(prefix + balancers[i] + suffix);
36 };
37 return urls;
38};
39
40
41/**
42 * Class: OpenLayers.Layer.OSM.Mapnik
43 *
44 * Inherits from:
45 * - <OpenLayers.Layer.OSM>
46 */
47OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
48 /**
49 * Constructor: OpenLayers.Layer.OSM.Mapnik
50 *
51 * Parameters:
52 * name - {String}
53 * options - {Object} Hashtable of extra options to tag onto the layer
54 */
55 initialize: function(name, options) {
56 var url = get_balanced_urls('http://', wl_balancers, '.osmproxy.wirelessleiden.nl/heatmap/osm-proxy/${z}/${x},${y}.png');
57 options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
58 var newArguments = [name, url, options];
59 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
60 },
61
62 CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik"
63});
64
65/**
66 * Class: OpenLayers.Layer.OSM.Osmarender
67 *
68 * Inherits from:
69 * - <OpenLayers.Layer.OSM>
70 */
71OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
72 /**
73 * Constructor: OpenLayers.Layer.OSM.Osmarender
74 *
75 * Parameters:
76 * name - {String}
77 * options - {Object} Hashtable of extra options to tag onto the layer
78 */
79 initialize: function(name, options) {
80 var url = [
81 "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
82 "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
83 "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
84 ];
85 options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
86 var newArguments = [name, url, options];
87 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
88 },
89
90 CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender"
91});
92
93/**
94 * Class: OpenLayers.Layer.OSM.CycleMap
95 *
96 * Inherits from:
97 * - <OpenLayers.Layer.OSM>
98 */
99OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
100 /**
101 * Constructor: OpenLayers.Layer.OSM.CycleMap
102 *
103 * Parameters:
104 * name - {String}
105 * options - {Object} Hashtable of extra options to tag onto the layer
106 */
107 initialize: function(name, options) {
108 var url = [
109 "http://a.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
110 "http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
111 "http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png"
112 ];
113 options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
114 var newArguments = [name, url, options];
115 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
116 },
117
118 CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap"
119});
120
121/**
122 * Class: OpenLayers.Layer.OSM.Maplint
123 *
124 * Inherits from:
125 * - <OpenLayers.Layer.OSM>
126 */
127OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, {
128 /**
129 * Constructor: OpenLayers.Layer.OSM.Maplint
130 *
131 * Parameters:
132 * name - {String}
133 * options - {Object} Hashtable of extra options to tag onto the layer
134 */
135 initialize: function(name, options) {
136 var url = [
137 "http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
138 "http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
139 "http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png"
140 ];
141 options = OpenLayers.Util.extend({ numZoomLevels: 21, isBaseLayer: false, visibility: false }, options);
142 var newArguments = [name, url, options];
143 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
144 },
145
146 CLASS_NAME: "OpenLayers.Layer.OSM.Maplint"
147});
148
149/**
150 * Gheat layer
151 */
152OpenLayers.Layer.OSM.Overlay1 = OpenLayers.Class(OpenLayers.Layer.OSM, {
153 initialize: function(name, options) {
154 var url = [
155 "/gheat/classic/${z}/${x},${y}.png"
156 ];
157 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
158 var newArguments = [name, url, options];
159 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
160 },
161 colour: "0,0,0",
162 CLASS_NAME: "OpenLayers.Layer.Overlay"
163});
164
165/**
166 * All accespoints
167 */
168OpenLayers.Layer.OSM.Overlay2 = OpenLayers.Class(OpenLayers.Layer.OSM, {
169 initialize: function(name, options) {
170 var url = get_balanced_urls('http://', wl_balancers, '.maps.wirelessleiden.nl/wlheatmap/tile/${z}/${x},${y}.png?colour=90,90,90');
171 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
172 var newArguments = [name, url, options];
173 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
174 },
175 colour: "90,90,90",
176 CLASS_NAME: "OpenLayers.Layer.Overlay"
177});
178
179/**
180 * Wireless Leiden nodes
181 */
182OpenLayers.Layer.OSM.Overlay3 = OpenLayers.Class(OpenLayers.Layer.OSM, {
183 initialize: function(name, options) {
184 var url = get_balanced_urls('http://', wl_balancers, '.maps.wirelessleiden.nl/wlheatmap/tile/${z}/${x},${y}.png?colour=255,0,0&accespoint__ssid__icontains=WirelessLeiden');
185 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
186 var newArguments = [name, url, options];
187 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
188 },
189 colour: "255,0,0",
190 CLASS_NAME: "OpenLayers.Layer.Overlay"
191});
192
193/**
194 * Signal strength
195 */
196OpenLayers.Layer.OSM.Overlay4 = OpenLayers.Class(OpenLayers.Layer.OSM, {
197 initialize: function(name, options) {
198 var url = get_balanced_urls('http://', wl_balancers, '.maps.wirelessleiden.nl/wlheatmap/tile/${z}/${x},${y}.png?colour=50,150,50&signaal__gte=0&signaal__lte=100');
199 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
200 var newArguments = [name, url, options];
201 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
202 },
203 colour: "50,150,50",
204 CLASS_NAME: "OpenLayers.Layer.Overlay"
205});
Note: See TracBrowser for help on using the repository browser.