source: src/django_gheat/website/static/OpenStreetMap.js@ 9267

Last change on this file since 9267 was 9263, checked in by dennisw, 13 years ago

Changed 'Wireless Leiden Only' to red.
Changed 'All accespoints' to grey.
Added a mass-add button for users and Wireless Leiden nodes. These will create a new layer per item with random colour.
Added the permalink control. URLs aren't working yet though.

File size: 5.7 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
31/**
32 * Class: OpenLayers.Layer.OSM.Mapnik
33 *
34 * Inherits from:
35 * - <OpenLayers.Layer.OSM>
36 */
37OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
38 /**
39 * Constructor: OpenLayers.Layer.OSM.Mapnik
40 *
41 * Parameters:
42 * name - {String}
43 * options - {Object} Hashtable of extra options to tag onto the layer
44 */
45 initialize: function(name, options) {
46 var url = [
47 "/website/osm-proxy/${z}/${x},${y}.png",
48 ];
49 options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
50 var newArguments = [name, url, options];
51 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
52 },
53
54 CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik"
55});
56
57/**
58 * Class: OpenLayers.Layer.OSM.Osmarender
59 *
60 * Inherits from:
61 * - <OpenLayers.Layer.OSM>
62 */
63OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
64 /**
65 * Constructor: OpenLayers.Layer.OSM.Osmarender
66 *
67 * Parameters:
68 * name - {String}
69 * options - {Object} Hashtable of extra options to tag onto the layer
70 */
71 initialize: function(name, options) {
72 var url = [
73 "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
74 "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
75 "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
76 ];
77 options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
78 var newArguments = [name, url, options];
79 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
80 },
81
82 CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender"
83});
84
85/**
86 * Class: OpenLayers.Layer.OSM.CycleMap
87 *
88 * Inherits from:
89 * - <OpenLayers.Layer.OSM>
90 */
91OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
92 /**
93 * Constructor: OpenLayers.Layer.OSM.CycleMap
94 *
95 * Parameters:
96 * name - {String}
97 * options - {Object} Hashtable of extra options to tag onto the layer
98 */
99 initialize: function(name, options) {
100 var url = [
101 "http://a.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
102 "http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
103 "http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png"
104 ];
105 options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
106 var newArguments = [name, url, options];
107 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
108 },
109
110 CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap"
111});
112
113/**
114 * Class: OpenLayers.Layer.OSM.Maplint
115 *
116 * Inherits from:
117 * - <OpenLayers.Layer.OSM>
118 */
119OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, {
120 /**
121 * Constructor: OpenLayers.Layer.OSM.Maplint
122 *
123 * Parameters:
124 * name - {String}
125 * options - {Object} Hashtable of extra options to tag onto the layer
126 */
127 initialize: function(name, options) {
128 var url = [
129 "http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
130 "http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
131 "http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png"
132 ];
133 options = OpenLayers.Util.extend({ numZoomLevels: 21, isBaseLayer: false, visibility: false }, options);
134 var newArguments = [name, url, options];
135 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
136 },
137
138 CLASS_NAME: "OpenLayers.Layer.OSM.Maplint"
139});
140
141
142OpenLayers.Layer.OSM.Overlay1 = OpenLayers.Class(OpenLayers.Layer.OSM, {
143 initialize: function(name, options) {
144 var url = [
145 "/gheat/classic/${z}/${x},${y}.png"
146 ];
147 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
148 var newArguments = [name, url, options];
149 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
150 },
151
152 CLASS_NAME: "OpenLayers.Layer.Overlay1"
153});
154
155OpenLayers.Layer.OSM.Overlay2 = OpenLayers.Class(OpenLayers.Layer.OSM, {
156 initialize: function(name, options) {
157 var url = [
158 "/website/tile/${z}/${x},${y}.png?colour=90,90,90"
159 ];
160 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
161 var newArguments = [name, url, options];
162 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
163 },
164
165 CLASS_NAME: "OpenLayers.Layer.Overlay2"
166});
167
168OpenLayers.Layer.OSM.Overlay3 = OpenLayers.Class(OpenLayers.Layer.OSM, {
169 initialize: function(name, options) {
170 var url = [
171 "/website/tile/${z}/${x},${y}.png?colour=255,0,0&accespoint__ssid__icontains=WirelessLeiden"
172 ];
173 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
174 var newArguments = [name, url, options];
175 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
176 },
177
178 CLASS_NAME: "OpenLayers.Layer.Overlay3"
179});
Note: See TracBrowser for help on using the repository browser.