-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathL.TileLayer.Kartverket.js
88 lines (74 loc) · 2.5 KB
/
L.TileLayer.Kartverket.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*global L:false*/
(function () {
'use strict';
L.TileLayer.Kartverket = L.TileLayer.extend({
baseUrl: 'https://opencache{s}.statkart.no/gatekeeper/gk/gk.open_gmaps?'
+ 'layers={layer}&zoom={z}&x={x}&y={y}',
options: {
maxNativeZoom: 18,
attribution: '© <a href="http://kartverket.no">Kartverket</a>',
subdomains: ['', '2', '3']
},
mappings: {
kartdata2: 'topo4',
norgeskart_bakgrunn: 'topo4',
sjo_hovedkart2: 'sjokartraster',
toporaster: 'toporaster3',
topo2: 'topo4',
topo2graatone: 'topo4graatone'
},
layers: [
'matrikkel_bakgrunn2',
'topo4',
'topo4graatone',
'europa',
'toporaster3',
'sjokartraster',
'norges_grunnkart',
'norges_grunnkart_graatone',
'egk',
'terreng_norgeskart',
'havbunn_grunnkart',
'bakgrunnskart_forenklet'
],
layerNames: [
'Matrikkel bakgrunn',
'Topografisk norgeskart',
'Topografisk norgeskart gråtone',
'Europakart',
'Topografisk norgeskart, raster',
'Sjøkart hovedkartserien',
'Norges Grunnkart',
'Norges grunnkart gråtone',
'Europeisk grunnkart',
'Terreng',
'Havbunn grunnkart',
null
],
initialize: function (layer, options) {
if (this.layers.indexOf(layer) === -1) {
if (this.mappings[layer]) {
layer = this.mappings[layer];
} else {
throw new Error('Unknown layer "' + layer + '"');
}
}
L.TileLayer.prototype.initialize.call(this, this.baseUrl, options);
this.options.layer = layer;
}
});
L.tileLayer.kartverket = function (layer, options) {
return new L.TileLayer.Kartverket(layer, options);
};
L.tileLayer.kartverket.getLayers = function () {
return L.TileLayer.Kartverket.prototype.layers.slice();
};
L.tileLayer.kartverket.getLayerName = function (layer) {
var idx = L.TileLayer.Kartverket.prototype.layers.indexOf(layer);
var name = null;
if (idx !== -1) {
name = L.TileLayer.Kartverket.prototype.layerNames[idx];
}
return (name !== null) ? name : layer;
};
}());