@eturnity/eturnity_3d 7.48.0 → 7.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,216 +2,253 @@ import * as L from 'leaflet'
2
2
  import 'leaflet.gridlayer.googlemutant/dist/Leaflet.GoogleMutant.js'
3
3
  import { leafletMapLayersConfig } from './leaflet-config.service'
4
4
 
5
- function getLayers() {
6
- const googleLayer = L.gridLayer.googleMutant({
7
- type: 'hybrid',
8
- layerTypeAPI: 'googleLayer',
9
- maxNativeZoom: 25,
10
- maxZoom: 25,
11
- })
12
- const googleLayerRoadmap = L.gridLayer.googleMutant({
13
- type: 'roadmap',
14
- layerTypeAPI: 'googleLayerRoadmap',
15
- maxNativeZoom: 25,
16
- maxZoom: 25,
17
- })
18
- const googleLayerTerrain = L.gridLayer.googleMutant({
19
- type: 'terrain',
20
- layerTypeAPI: 'googleLayerTerrain',
21
- maxNativeZoom: 25,
22
- maxZoom: 25,
23
- })
24
- // TODO activate for different users
25
- const baseMapLayer = L.tileLayer(
26
- 'https://mapsneu.wien.gv.at/basemap/geolandbasemap/normal/google3857/{z}/{y}/{x}.png',
27
- {
28
- id: 'basemap',
29
- subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
30
- attribution:
31
- 'Datenquelle: <a href="http://www.basemap.at/">basemap.at</a>',
32
- // TODO not defined
33
- minZoom: leafletMapLayersConfig['baseMapLayer']['minZoom'],
34
- maxZoom: leafletMapLayersConfig['baseMapLayer']['maxZoom'],
35
- maxNativeZoom: leafletMapLayersConfig['baseMapLayer']['maxNativeZoom'],
36
- layerTypeAPI: 'baseMapLayer',
37
- }
38
- )
39
- const baseMapLayerStreetNumber = L.tileLayer(
40
- 'https://mapsneu.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{z}/{y}/{x}.jpeg',
41
- {
42
- id: 'basemap_bmaporthofoto30cm',
43
- subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
44
- attribution:
45
- 'Datenquelle: <a href="http://www.basemap.at/">basemap.at</a>',
46
- // TODO not defined
47
- minZoom: leafletMapLayersConfig['baseMapLayerStreetNumber']['minZoom'],
48
- maxZoom: leafletMapLayersConfig['baseMapLayerStreetNumber']['maxZoom'],
49
- maxNativeZoom:
50
- leafletMapLayersConfig['baseMapLayerStreetNumber']['maxNativeZoom'],
51
- layerTypeAPI: 'baseMapLayerStreetNumber',
52
- }
53
- )
54
- const swisstopoLayer_swissimage = L.tileLayer(
55
- 'https://wmts10.geo.admin.ch/1.0.0/ch.swisstopo.swissimage/default/current/3857/{z}/{x}/{y}.jpeg',
56
- {
57
- id: 'swisstopo_swissimage',
58
- subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
59
- attribution:
60
- 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
61
- maxZoom: leafletMapLayersConfig['swisstopoLayer_swissimage']['maxZoom'],
62
- maxNativeZoom:
63
- leafletMapLayersConfig['swisstopoLayer_swissimage']['maxNativeZoom'],
64
- layerTypeAPI: 'swisstopoLayer_swissimage',
65
- }
66
- )
67
- const swisstopoLayer_pixelkarte = L.tileLayer(
68
- 'https://wmts10.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{z}/{x}/{y}.jpeg',
69
- {
70
- id: 'swisstopo_pixelkarte',
71
- subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
72
- attribution:
73
- 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
74
- maxZoom: leafletMapLayersConfig['swisstopoLayer_pixelkarte']['maxZoom'],
75
- maxNativeZoom:
76
- leafletMapLayersConfig['swisstopoLayer_pixelkarte']['maxNativeZoom'],
77
- layerTypeAPI: 'swisstopoLayer_pixelkarte',
78
- }
79
- )
80
- const swisstopoLayer_solarenergie_fassade = L.tileLayer(
81
- 'https://wmts10.geo.admin.ch/1.0.0/ch.bfe.solarenergie-eignung-fassaden/default/current/3857/{z}/{x}/{y}.png',
82
- {
83
- id: 'swisstopo_solarenergie_fassade',
84
- // subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
85
- attribution:
86
- 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
87
- maxZoom:
88
- leafletMapLayersConfig['swisstopoLayer_solarenergie_fassade'][
89
- 'maxZoom'
90
- ],
91
- maxNativeZoom:
92
- leafletMapLayersConfig['swisstopoLayer_solarenergie_fassade'][
93
- 'maxNativeZoom'
94
- ],
95
- layerTypeAPI: 'swisstopoLayer_solarenergie_fassade',
96
- }
97
- )
98
- const swisstopoLayer_solarenergie_roof = L.tileLayer(
99
- 'https://wmts10.geo.admin.ch/1.0.0/ch.bfe.solarenergie-eignung-daecher/default/current/3857/{z}/{x}/{y}.png',
100
- {
101
- id: 'swisstopo_solarenergie_roof',
102
- // subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
103
- attribution:
104
- 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
105
- maxZoom:
106
- leafletMapLayersConfig['swisstopoLayer_solarenergie_roof']['maxZoom'],
107
- maxNativeZoom:
108
- leafletMapLayersConfig['swisstopoLayer_solarenergie_roof'][
109
- 'maxNativeZoom'
110
- ],
111
- layerTypeAPI: 'swisstopoLayer_solarenergie_roof',
112
- }
113
- )
114
- const openStreetMapLayer = L.tileLayer(
115
- 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
116
- {
117
- id: 'osm',
118
- attribution:
119
- '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
120
- minZoom: leafletMapLayersConfig['openStreetMapLayer']['minZoom'],
121
- maxZoom: leafletMapLayersConfig['openStreetMapLayer']['maxZoom'],
122
- maxNativeZoom:
123
- leafletMapLayersConfig['openStreetMapLayer']['maxNativeZoom'],
124
- layerTypeAPI: 'openStreetMapLayer',
125
- }
126
- )
127
- const ignLayerPNOAImage = L.tileLayer(
128
- 'https://www.ign.es/wmts/pnoa-ma?layer={layer}&tilematrixset={tilematrixset}&Service=WMTS&Request=GetTile&Version=1.0.0&Format={format}&TileMatrix={z}&TileCol={x}&TileRow={y}',
129
- {
130
- layer: 'OI.OrthoimageCoverage',
131
- tilematrixset: 'EPSG:3857',
132
- format: 'image/jpeg',
133
- id: 'ign_pnoa',
134
- attribution:
135
- '&copy; <a href="https://pnoa.ign.es" target="_blank">PNOA</a>',
136
- maxZoom: leafletMapLayersConfig['ignSpainLayer_pnoa_image']['maxZoom'],
137
- maxNativeZoom:
138
- leafletMapLayersConfig['ignSpainLayer_pnoa_image']['maxNativeZoom'],
139
- layerTypeAPI: 'ignSpainLayer_pnoa_image',
140
- }
141
- )
142
- const ignLayerMap = L.tileLayer(
143
- 'https://www.ign.es/wmts/ign-base?layer={layer}&tilematrixset={tilematrixset}&Service=WMTS&Request=GetTile&Version=1.0.0&Format={format}&TileMatrix={z}&TileCol={x}&TileRow={y}',
144
- {
145
- layer: 'IGNBaseTodo',
146
- tilematrixset: 'EPSG:3857',
147
- format: 'image/jpeg',
148
- id: 'ign_map',
149
- attribution:
150
- '&copy; <a href="https://www.ign.es/web/ign/portal" target="_blank">IGN</a>',
151
- maxZoom: leafletMapLayersConfig['ignSpainLayer_map']['maxZoom'],
152
- maxNativeZoom:
153
- leafletMapLayersConfig['ignSpainLayer_map']['maxNativeZoom'],
154
- layerTypeAPI: 'ignSpainLayer_map',
155
- }
156
- )
157
- const bkgHexagonImage = L.tileLayer.wms(
158
- 'https://terramapserver.org/Proxy/geoserver/BKG/wms?kid=eag20.1',
159
- {
160
- layers: 'rgb',
161
- id: 'bkg_image',
162
- attribution:
163
- '&copy; <a href="https://www.bkg.bund.de" target="_blank">Bundesamt für Kartographie und Geodäsie</a>',
164
- maxZoom: leafletMapLayersConfig['bkgHexagonGermanyLayer']['maxZoom'],
165
- maxNativeZoom:
166
- leafletMapLayersConfig['bkgHexagonGermanyLayer']['maxNativeZoom'],
167
- layerTypeAPI: 'bkgHexagonGermanyLayer',
168
- }
169
- )
170
- const GeoLayer_HR = L.tileLayer(
171
- 'https://data.geopf.fr/wmts?' +
172
- '&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0' +
173
- '&STYLE=normal' +
174
- '&TILEMATRIXSET=PM' +
175
- '&FORMAT=image/jpeg' +
176
- '&LAYER=HR.ORTHOIMAGERY.ORTHOPHOTOS' +
177
- '&TILEMATRIX={z}' +
178
- '&TILEROW={y}' +
179
- '&TILECOL={x}',
180
- {
181
- layers: 'HR.ORTHOIMAGERY.ORTHOPHOTOS',
182
- id: 'HR.ORTHOIMAGERY.ORTHOPHOTOS',
183
- attribution: '© IGN-F/Geoportail France',
184
- minZoom: leafletMapLayersConfig['GeoPortal']['minZoom'],
185
- maxZoom: leafletMapLayersConfig['GeoPortal']['maxZoom'],
186
- maxNativeZoom: leafletMapLayersConfig['GeoPortal']['maxNativeZoom'],
187
- tileSize: 256,
188
- layerTypeAPI: 'geoportail_fr_wmts_ortho_layer',
189
- }
190
- )
5
+ const googleLayer = L.gridLayer.googleMutant({
6
+ type: 'hybrid',
7
+ layerTypeAPI: 'googleLayer',
8
+ maxNativeZoom: 25,
9
+ maxZoom: 25,
10
+ })
191
11
 
192
- const azureSatelliteLayer = L.tileLayer(
193
- 'https://atlas.microsoft.com/map/tile?' +
194
- 'api-version={apiVersion}' +
195
- '&tilesetId={tilesetId}' +
196
- '&subscription-key={subscriptionKey}' +
197
- '&zoom={z}' +
198
- '&x={x}' +
199
- '&y={y}',
200
- {
201
- layerTypeAPI: 'azureSatelliteLayer',
202
- id: 'azure_satellite',
203
- attribution: `\u00A9 ${new Date().getFullYear()} EarthStar Geographics, Microsoft`,
204
- minZoom: leafletMapLayersConfig['azureSatelliteLayer']['minZoom'],
205
- maxZoom: leafletMapLayersConfig['azureSatelliteLayer']['maxZoom'],
206
- maxNativeZoom:
207
- leafletMapLayersConfig['azureSatelliteLayer']['maxNativeZoom'],
208
- // query parameters
209
- apiVersion: '2022-08-01',
210
- tilesetId: 'microsoft.imagery',
211
- subscriptionKey: process.env.VUE_APP_AZURE_MAP_SUBSCRIPTION_KEY,
212
- }
213
- )
12
+ const googleLayerRoadmap = L.gridLayer.googleMutant({
13
+ type: 'roadmap',
14
+ layerTypeAPI: 'googleLayerRoadmap',
15
+ maxNativeZoom: 25,
16
+ maxZoom: 25,
17
+ })
18
+
19
+ const googleLayerTerrain = L.gridLayer.googleMutant({
20
+ type: 'terrain',
21
+ layerTypeAPI: 'googleLayerTerrain',
22
+ maxNativeZoom: 25,
23
+ maxZoom: 25,
24
+ })
25
+
26
+ const baseMapLayer = L.tileLayer(
27
+ 'https://mapsneu.wien.gv.at/basemap/geolandbasemap/normal/google3857/{z}/{y}/{x}.png',
28
+ {
29
+ id: 'basemap',
30
+ subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
31
+ attribution: 'Datenquelle: <a href="http://www.basemap.at/">basemap.at</a>',
32
+ minZoom: leafletMapLayersConfig['baseMapLayer']['minZoom'],
33
+ maxZoom: leafletMapLayersConfig['baseMapLayer']['maxZoom'],
34
+ maxNativeZoom: leafletMapLayersConfig['baseMapLayer']['maxNativeZoom'],
35
+ layerTypeAPI: 'baseMapLayer',
36
+ }
37
+ )
38
+
39
+ const baseMapLayerStreetNumber = L.tileLayer(
40
+ 'https://mapsneu.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{z}/{y}/{x}.jpeg',
41
+ {
42
+ id: 'basemap_bmaporthofoto30cm',
43
+ subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
44
+ attribution: 'Datenquelle: <a href="http://www.basemap.at/">basemap.at</a>',
45
+ // TODO not defined
46
+ minZoom: leafletMapLayersConfig['baseMapLayerStreetNumber']['minZoom'],
47
+ maxZoom: leafletMapLayersConfig['baseMapLayerStreetNumber']['maxZoom'],
48
+ maxNativeZoom:
49
+ leafletMapLayersConfig['baseMapLayerStreetNumber']['maxNativeZoom'],
50
+ layerTypeAPI: 'baseMapLayerStreetNumber',
51
+ }
52
+ )
53
+
54
+ const swisstopoLayer_swissimage = L.tileLayer(
55
+ 'https://wmts10.geo.admin.ch/1.0.0/ch.swisstopo.swissimage/default/current/3857/{z}/{x}/{y}.jpeg',
56
+ {
57
+ id: 'swisstopo_swissimage',
58
+ subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
59
+ attribution:
60
+ 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
61
+ maxZoom: leafletMapLayersConfig['swisstopoLayer_swissimage']['maxZoom'],
62
+ maxNativeZoom:
63
+ leafletMapLayersConfig['swisstopoLayer_swissimage']['maxNativeZoom'],
64
+ layerTypeAPI: 'swisstopoLayer_swissimage',
65
+ }
66
+ )
67
+
68
+ const swisstopoLayer_pixelkarte = L.tileLayer(
69
+ 'https://wmts10.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{z}/{x}/{y}.jpeg',
70
+ {
71
+ id: 'swisstopo_pixelkarte',
72
+ subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
73
+ attribution:
74
+ 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
75
+ maxZoom: leafletMapLayersConfig['swisstopoLayer_pixelkarte']['maxZoom'],
76
+ maxNativeZoom:
77
+ leafletMapLayersConfig['swisstopoLayer_pixelkarte']['maxNativeZoom'],
78
+ layerTypeAPI: 'swisstopoLayer_pixelkarte',
79
+ }
80
+ )
81
+
82
+ const swisstopoLayer_solarenergie_fassade = L.tileLayer(
83
+ 'https://wmts10.geo.admin.ch/1.0.0/ch.bfe.solarenergie-eignung-fassaden/default/current/3857/{z}/{x}/{y}.png',
84
+ {
85
+ id: 'swisstopo_solarenergie_fassade',
86
+ // subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
87
+ attribution:
88
+ 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
89
+ maxZoom:
90
+ leafletMapLayersConfig['swisstopoLayer_solarenergie_fassade']['maxZoom'],
91
+ maxNativeZoom:
92
+ leafletMapLayersConfig['swisstopoLayer_solarenergie_fassade'][
93
+ 'maxNativeZoom'
94
+ ],
95
+ layerTypeAPI: 'swisstopoLayer_solarenergie_fassade',
96
+ }
97
+ )
214
98
 
99
+ const swisstopoLayer_solarenergie_roof = L.tileLayer(
100
+ 'https://wmts10.geo.admin.ch/1.0.0/ch.bfe.solarenergie-eignung-daecher/default/current/3857/{z}/{x}/{y}.png',
101
+ {
102
+ id: 'swisstopo_solarenergie_roof',
103
+ // subdomains: ['maps', 'maps1', 'maps2', 'maps3', 'maps4'],
104
+ attribution:
105
+ 'Datenquelle: <a href="https://www.geo.admin.ch">geo.admin.ch</a>',
106
+ maxZoom:
107
+ leafletMapLayersConfig['swisstopoLayer_solarenergie_roof']['maxZoom'],
108
+ maxNativeZoom:
109
+ leafletMapLayersConfig['swisstopoLayer_solarenergie_roof'][
110
+ 'maxNativeZoom'
111
+ ],
112
+ layerTypeAPI: 'swisstopoLayer_solarenergie_roof',
113
+ }
114
+ )
115
+
116
+ const openStreetMapLayer = L.tileLayer(
117
+ 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
118
+ {
119
+ id: 'osm',
120
+ attribution:
121
+ '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
122
+ minZoom: leafletMapLayersConfig['openStreetMapLayer']['minZoom'],
123
+ maxZoom: leafletMapLayersConfig['openStreetMapLayer']['maxZoom'],
124
+ maxNativeZoom:
125
+ leafletMapLayersConfig['openStreetMapLayer']['maxNativeZoom'],
126
+ layerTypeAPI: 'openStreetMapLayer',
127
+ }
128
+ )
129
+
130
+ const ignLayerPNOAImage = L.tileLayer(
131
+ 'https://www.ign.es/wmts/pnoa-ma?layer={layer}&tilematrixset={tilematrixset}&Service=WMTS&Request=GetTile&Version=1.0.0&Format={format}&TileMatrix={z}&TileCol={x}&TileRow={y}',
132
+ {
133
+ layer: 'OI.OrthoimageCoverage',
134
+ tilematrixset: 'EPSG:3857',
135
+ format: 'image/jpeg',
136
+ id: 'ign_pnoa',
137
+ attribution:
138
+ '&copy; <a href="https://pnoa.ign.es" target="_blank">PNOA</a>',
139
+ maxZoom: leafletMapLayersConfig['ignSpainLayer_pnoa_image']['maxZoom'],
140
+ maxNativeZoom:
141
+ leafletMapLayersConfig['ignSpainLayer_pnoa_image']['maxNativeZoom'],
142
+ layerTypeAPI: 'ignSpainLayer_pnoa_image',
143
+ }
144
+ )
145
+
146
+ const ignLayerMap = L.tileLayer(
147
+ 'https://www.ign.es/wmts/ign-base?layer={layer}&tilematrixset={tilematrixset}&Service=WMTS&Request=GetTile&Version=1.0.0&Format={format}&TileMatrix={z}&TileCol={x}&TileRow={y}',
148
+ {
149
+ layer: 'IGNBaseTodo',
150
+ tilematrixset: 'EPSG:3857',
151
+ format: 'image/jpeg',
152
+ id: 'ign_map',
153
+ attribution:
154
+ '&copy; <a href="https://www.ign.es/web/ign/portal" target="_blank">IGN</a>',
155
+ maxZoom: leafletMapLayersConfig['ignSpainLayer_map']['maxZoom'],
156
+ maxNativeZoom: leafletMapLayersConfig['ignSpainLayer_map']['maxNativeZoom'],
157
+ layerTypeAPI: 'ignSpainLayer_map',
158
+ }
159
+ )
160
+
161
+ const getHexagonLayer = (url, params) => {
162
+ const options = {
163
+ kid: params.kid,
164
+ format: 'image/png',
165
+ transparent: true,
166
+ maxZoom: leafletMapLayersConfig['bkgHexagonGermanyLayer']['maxZoom'],
167
+ maxNativeZoom:
168
+ leafletMapLayersConfig['bkgHexagonGermanyLayer']['maxNativeZoom'],
169
+ id: `bkg_hexagon_${params.layers}`,
170
+ layerTypeAPI: 'bkgHexagonGermanyLayer',
171
+ layers: params.layers,
172
+ order: params.order,
173
+ version: '1.3.0',
174
+ crs: L.CRS.EPSG3857,
175
+ attribution: `&copy; GeoBasis-DE/BKG ${new Date().getFullYear()}, powered by HxGN`,
176
+ }
177
+ return L.tileLayer.wms(url, options)
178
+ }
179
+
180
+ const hexagonImageDop20 = getHexagonLayer(
181
+ 'https://geodaten-vertrieb.de/Proxy/DOP20/wms',
182
+ {
183
+ layers: 'DOP20',
184
+ kid: 'ET_expert_qlN7AQXKu3jTw',
185
+ order: 1,
186
+ }
187
+ )
188
+
189
+ const hexagonImageDop10 = getHexagonLayer(
190
+ 'https://geodaten-vertrieb.de/Proxy/DOP10/wms',
191
+ {
192
+ layers: 'DOP10',
193
+ kid: 'ET_expert_qlN7AQXKu3jTw',
194
+ order: 2,
195
+ }
196
+ )
197
+
198
+ const hexagonLayerGroup = L.layerGroup([hexagonImageDop20, hexagonImageDop10], {
199
+ attribution: `© GeoBasis-DE/BKG ${new Date().getFullYear()}, powered by HxGN`,
200
+ maxZoom: leafletMapLayersConfig['bkgHexagonGermanyLayer']['maxZoom'],
201
+ maxNativeZoom:
202
+ leafletMapLayersConfig['bkgHexagonGermanyLayer']['maxNativeZoom'],
203
+ layerTypeAPI: 'bkgHexagonGermanyLayer',
204
+ })
205
+
206
+ const GeoLayer_HR = L.tileLayer(
207
+ 'https://data.geopf.fr/wmts?' +
208
+ '&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0' +
209
+ '&STYLE=normal' +
210
+ '&TILEMATRIXSET=PM' +
211
+ '&FORMAT=image/jpeg' +
212
+ '&LAYER=HR.ORTHOIMAGERY.ORTHOPHOTOS' +
213
+ '&TILEMATRIX={z}' +
214
+ '&TILEROW={y}' +
215
+ '&TILECOL={x}',
216
+ {
217
+ layers: 'HR.ORTHOIMAGERY.ORTHOPHOTOS',
218
+ id: 'HR.ORTHOIMAGERY.ORTHOPHOTOS',
219
+ attribution: '&copy; IGN-F/Geoportail France',
220
+ minZoom: leafletMapLayersConfig['GeoPortal']['minZoom'],
221
+ maxZoom: leafletMapLayersConfig['GeoPortal']['maxZoom'],
222
+ maxNativeZoom: leafletMapLayersConfig['GeoPortal']['maxNativeZoom'],
223
+ tileSize: 256,
224
+ layerTypeAPI: 'geoportail_fr_wmts_ortho_layer',
225
+ }
226
+ )
227
+
228
+ const azureSatelliteLayer = L.tileLayer(
229
+ 'https://atlas.microsoft.com/map/tile?' +
230
+ 'api-version={apiVersion}' +
231
+ '&tilesetId={tilesetId}' +
232
+ '&subscription-key={subscriptionKey}' +
233
+ '&zoom={z}' +
234
+ '&x={x}' +
235
+ '&y={y}',
236
+ {
237
+ layerTypeAPI: 'azureSatelliteLayer',
238
+ id: 'azure_satellite',
239
+ attribution: `\u00A9 ${new Date().getFullYear()} EarthStar Geographics, Microsoft`,
240
+ minZoom: leafletMapLayersConfig['azureSatelliteLayer']['minZoom'],
241
+ maxZoom: leafletMapLayersConfig['azureSatelliteLayer']['maxZoom'],
242
+ maxNativeZoom:
243
+ leafletMapLayersConfig['azureSatelliteLayer']['maxNativeZoom'],
244
+ // query parameters
245
+ apiVersion: '2022-08-01',
246
+ tilesetId: 'microsoft.imagery',
247
+ subscriptionKey: process.env.VUE_APP_AZURE_MAP_SUBSCRIPTION_KEY,
248
+ }
249
+ )
250
+
251
+ function getLayers() {
215
252
  return [
216
253
  {
217
254
  name: 'SwissTopo (satellite)',
@@ -273,11 +310,6 @@ function getLayers() {
273
310
  key: 'ignSpainLayer_map',
274
311
  layerData: ignLayerMap,
275
312
  },
276
- {
277
- name: 'BKG satellite image',
278
- key: 'bkgHexagonGermanyLayer',
279
- layerData: bkgHexagonImage,
280
- },
281
313
  {
282
314
  name: 'GeoPortal France (satellite)',
283
315
  key: 'geoportail_fr_wmts_ortho_layer',
@@ -288,6 +320,11 @@ function getLayers() {
288
320
  key: 'azureSatelliteLayer',
289
321
  layerData: azureSatelliteLayer,
290
322
  },
323
+ {
324
+ name: 'BKG (satellite)',
325
+ key: 'bkgHexagonGermanyLayer',
326
+ layerData: hexagonLayerGroup,
327
+ },
291
328
  ]
292
329
  }
293
330
  export default getLayers