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

Last change on this file since 9184 was 9166, checked in by rick, 14 years ago

Some nice hacks to do filtered dynamic views and alternating colours if needed.

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