source: src/django_gheat/samples/persisted/static/OpenStreetMap.js@ 9113

Last change on this file since 9113 was 9113, checked in by dennisw, 14 years ago

Supports OpenLayers/OpenStreetMap instead of Google Maps.

File size: 4.9 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});
Note: See TracBrowser for help on using the repository browser.