PageSourceSearch

https://asmae-toumi.netlify.app/site_libs/leaflet-providers-1.9.0/leaflet-providers_1.9.0.js

js asmae-toumi.netlify.app collected 2026-10-03 10:28:19 UTC 24,660 bytes, 855 lines download raw bytes

vendor: 20,349 bytes, lines 1-706
1(function (root, factory) {
2	if (typeof define === 'function' && define.amd) {
3		// AMD. Register as an anonymous module.
4		define(['leaflet'], factory);
5	} else if (typeof modules === 'object' && module.exports) {
6		// define a Common JS module that relies on 'leaflet'
7		module.exports = factory(require('leaflet'));
8	} else {
9		// Assume Leaflet is loaded into global object L already
10		factory(L);
11	}
12}(this, function (L) {
13	'use strict';
14
15	L.TileLayer.Provider = L.TileLayer.extend({
16		initialize: function (arg, options) {
17			var providers = L.TileLayer.Provider.providers;
18
19			var parts = arg.split('.');
20
21			var providerName = parts[0];
22			var variantName = parts[1];
23
24			if (!providers[providerName]) {
25				throw 'No such provider (' + providerName + ')';
26			}
27
28			var provider = {
29				url: providers[providerName].url,
30				options: providers[providerName].options
31			};
32
33			// overwrite values in provider from variant.
34			if (variantName && 'variants' in providers[providerName]) {
35				if (!(variantName in providers[providerName].variants)) {
36					throw 'No such variant of ' + providerName + ' (' + variantName + ')';
37				}
38				var variant = providers[providerName].variants[variantName];
39				var variantOptions;
40				if (typeof variant === 'string') {
41					variantOptions = {
42						variant: variant
43					};
44				} else {
45					variantOptions = variant.options;
46				}
47				provider = {
48					url: variant.url || provider.url,
49					options: L.Util.extend({}, provider.options, variantOptions)
50				};
51			}
52
53			// replace attribution placeholders with their values from toplevel provider attribution,
54			// recursively
55			var attributionReplacer = function (attr) {
56				if (attr.indexOf('{attribution.') === -1) {
57					return attr;
58				}
59				return attr.replace(/\{attribution.(\w*)\}/g,
60					function (match, attributionName) {
61						return attributionReplacer(providers[attributionName].options.attribution);
62					}
63				);
64			};
65			provider.options.attribution = attributionReplacer(provider.options.attribution);
66
67			// Compute final options combining provider options with any user overrides
68			var layerOpts = L.Util.extend({}, provider.options, options);
69			L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts);
70		}
71	});
72
73	/**
74	 * Definition of providers.
75	 * see http://leafletjs.com/reference.html#tilelayer for options in the options map.
76	 */
77
78	L.TileLayer.Provider.providers = {
79		OpenStreetMap: {
80			url: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
81			options: {
82				maxZoom: 19,
83				attribution:
84					'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
85			},
86			variants: {
87				Mapnik: {},
88				DE: {
89					url: '//{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
90					options: {
91						maxZoom: 18
92					}
93				},
94				CH: {
95					url: '//tile.osm.ch/switzerland/{z}/{x}/{y}.png',
96					options: {
97						maxZoom: 18,
98						bounds: [[45, 5], [48, 11]]
99					}
100				},
101				France: {
102					url: '//{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png',
103					options: {
104						maxZoom: 20,
105						attribution: '&copy; Openstreetmap France | {attribution.OpenStreetMap}'
106					}
107				},
108				HOT: {
109					url: '//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
110					options: {
111						attribution:
112							'{attribution.OpenStreetMap}, ' +
113							'Tiles style by <a href="https://www.hotosm.org/" target="_blank">Humanitarian OpenStreetMap Team</a> ' +
114							'hosted by <a href="https://openstreetmap.fr/" target="_blank">OpenStreetMap France</a>'
115					}
116				},
117				BZH: {
118					url: '//tile.openstreetmap.bzh/br/{z}/{x}/{y}.png',
119					options: {
120						attribution: '{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://www.openstreetmap.bzh/" target="_blank">Breton OpenStreetMap Team</a>',
121						bounds: [[46.2, -5.5], [50, 0.7]]
122					}
123				}
124			}
125		},
126		OpenSeaMap: {
127			url: '//tiles.openseamap.org/seamark/{z}/{x}/{y}.png',
128			options: {
129				attribution: 'Map data: &copy; <a href="http://www.openseamap.org">OpenSeaMap</a> contributors'
130			}
131		},
132		OpenPtMap: {
133			url: 'http://openptmap.org/tiles/{z}/{x}/{y}.png',
134			options: {
135				maxZoom: 17,
136				attribution: 'Map data: &copy; <a href="http://www.openptmap.org">OpenPtMap</a> contributors'
137			}
138		},
139		OpenTopoMap: {
140			url: 'https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png',
141			options: {
142				maxZoom: 17,
143				attribution: 'Map data: {attribution.OpenStreetMap}, <a href="http://viewfinderpanoramas.org">SRTM</a> | Map style: &copy; <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'
144			}
145		},
146		OpenRailwayMap: {
147			url: 'https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png',
148			options: {
149				maxZoom: 19,
150				attribution: 'Map data: {attribution.OpenStreetMap} | Map style: &copy; <a href="https://www.OpenRailwayMap.org">OpenRailwayMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'
151			}
152		},
153		OpenFireMap: {
154			url: 'http://openfiremap.org/hytiles/{z}/{x}/{y}.png',
155			options: {
156				maxZoom: 19,
157				attribution: 'Map data: {attribution.OpenStreetMap} | Map style: &copy; <a href="http://www.openfiremap.org">OpenFireMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'
158			}
159		},
160		SafeCast: {
161			url: '//s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png',
162			options: {
163				maxZoom: 16,
164				attribution: 'Map data: {attribution.OpenStreetMap} | Map style: &copy; <a href="https://blog.safecast.org/about/">SafeCast</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'
165			}
166		},
167		Thunderforest: {
168			url: 'https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}',
169			options: {
170				attribution:
171					'&copy; <a href="http://www.thunderforest.com/">Thunderforest</a>, {attribution.OpenStreetMap}',
172				variant: 'cycle',
173				apikey: '<insert your api key here>',
174				maxZoom: 22
175			},
176			variants: {
177				OpenCycleMap: 'cycle',
178				Transport: {
179					options: {
180						variant: 'transport'
181					}
182				},
183				TransportDark: {
184					options: {
185						variant: 'transport-dark'
186					}
187				},
188				SpinalMap: {
189					options: {
190						variant: 'spinal-map'
191					}
192				},
193				Landscape: 'landscape',
194				Outdoors: 'outdoors',
195				Pioneer: 'pioneer',
196				MobileAtlas: 'mobile-atlas',
197				Neighbourhood: 'neighbourhood'
198			}
199		},
200		OpenMapSurfer: {
201			url: 'https://maps.heigit.org/openmapsurfer/tiles/{variant}/webmercator/{z}/{x}/{y}.png',
202			options: {
203				maxZoom: 19,
204				variant: 'roads',
205				attribution: 'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg</a> | Map data '
206			},
207			variants: {
208				Roads: {
209					options: {
210						variant: 'roads',
211						attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}'
212					}
213				},
214				Hybrid: {
215					options: {
216						variant: 'hybrid',
217						attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}'
218					}
219				},
220				AdminBounds: {
221					options: {
222						variant: 'adminb',
223						maxZoom: 18,
224						attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}'
225					}
226				},
227				ContourLines: {
228					options: {
229						variant: 'asterc',
230						maxZoom: 18,
231						minZoom: 13,
232						attribution: '{attribution.OpenMapSurfer} <a href="https://lpdaac.usgs.gov/products/aster_policies">ASTER GDEM</a>'
233					}
234				},
235				Hillshade: {
236					options: {
237						variant: 'asterh',
238						maxZoom: 18,
239						attribution: '{attribution.OpenMapSurfer} <a href="https://lpdaac.usgs.gov/products/aster_policies">ASTER GDEM</a>, <a href="http://srtm.csi.cgiar.org/">SRTM</a>'
240					}
241				},
242				ElementsAtRisk: {
243					options: {
244						variant: 'elements_at_risk',
245						attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}'
246					}
247				}
248			}
249		},
250		Hydda: {
251			url: '//{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png',
252			options: {
253				maxZoom: 18,
254				variant: 'full',
255				attribution: 'Tiles courtesy of <a href="http://openstreetmap.se/" target="_blank">OpenStreetMap Sweden</a> &mdash; Map data {attribution.OpenStreetMap}'
256			},
257			variants: {
258				Full: 'full',
259				Base: 'base',
260				RoadsAndLabels: 'roads_and_labels'
261			}
262		},
263		MapBox: {
264			url: 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}{r}.png?access_token={accessToken}',
265			options: {
266				attribution:
267					'<a href="https://www.mapbox.com/about/maps/" target="_blank">&copy; Mapbox</a> ' +
268					'{attribution.OpenStreetMap} ' +
269					'<a href="https://www.mapbox.com/map-feedback/" target="_blank">Improve this map</a>',
270				subdomains: 'abcd',
271				id: 'mapbox.streets',
272				accessToken: '<insert your access token here>',
273			}
274		},
275		Stamen: {
276			url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}{r}.{ext}',
277			options: {
278				attribution:
279					'Map tiles by <a href="http://stamen.com">Stamen Design</a>, ' +
280					'<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> &mdash; ' +
281					'Map data {attribution.OpenStreetMap}',
282				subdomains: 'abcd',
283				minZoom: 0,
284				maxZoom: 20,
285				variant: 'toner',
286				ext: 'png'
287			},
288			variants: {
289				Toner: 'toner',
290				TonerBackground: 'toner-background',
291				TonerHybrid: 'toner-hybrid',
292				TonerLines: 'toner-lines',
293				TonerLabels: 'toner-labels',
294				TonerLite: 'toner-lite',
295				Watercolor: {
296					url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}',
297					options: {
298						variant: 'watercolor',
299						ext: 'jpg',
300						minZoom: 1,
301						maxZoom: 16
302					}
303				},
304				Terrain: {
305					options: {
306						variant: 'terrain',
307						minZoom: 0,
308						maxZoom: 18
309					}
310				},
311				TerrainBackground: {
312					options: {
313						variant: 'terrain-background',
314						minZoom: 0,
315						maxZoom: 18
316					}
317				},
318				TerrainLabels: {
319					options: {
320						variant: 'terrain-labels',
321						minZoom: 0,
322						maxZoom: 18
323					}
324				},
325				TopOSMRelief: {
326					url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}',
327					options: {
328						variant: 'toposm-color-relief',
329						ext: 'jpg',
330						bounds: [[22, -132], [51, -56]]
331					}
332				},
333				TopOSMFeatures: {
334					options: {
335						variant: 'toposm-features',
336						bounds: [[22, -132], [51, -56]],
337						opacity: 0.9
338					}
339				}
340			}
341		},
342		TomTom: {
343			url: 'https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}',
344			options: {
345				variant: 'basic',
346				maxZoom: 22,
347				attribution:
348					'<a href="https://tomtom.com" target="_blank">&copy;  1992 - ' + new Date().getFullYear() + ' TomTom.</a> ',
349				subdomains: 'abcd',
350				style: 'main',
351				ext: 'png',
352				apikey: '<insert your API key here>',
353			},
354			variants: {
355				Basic: 'basic',
356				Hybrid: 'hybrid',
357				Labels: 'labels'
358			}
359		},
360		Esri: {
361			url: '//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}',
362			options: {
363				variant: 'World_Street_Map',
364				attribution: 'Tiles &copy; Esri'
365			},
366			variants: {
367				WorldStreetMap: {
368					options: {
369						attribution:
370							'{attribution.Esri} &mdash; ' +
371							'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'
372					}
373				},
374				DeLorme: {
375					options: {
376						variant: 'Specialty/DeLorme_World_Base_Map',
377						minZoom: 1,
378						maxZoom: 11,
379						attribution: '{attribution.Esri} &mdash; Copyright: &copy;2012 DeLorme'
380					}
381				},
382				WorldTopoMap: {
383					options: {
384						variant: 'World_Topo_Map',
385						attribution:
386							'{attribution.Esri} &mdash; ' +
387							'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'
388					}
389				},
390				WorldImagery: {
391					options: {
392						variant: 'World_Imagery',
393						attribution:
394							'{attribution.Esri} &mdash; ' +
395							'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'
396					}
397				},
398				WorldTerrain: {
399					options: {
400						variant: 'World_Terrain_Base',
401						maxZoom: 13,
402						attribution:
403							'{attribution.Esri} &mdash; ' +
404							'Source: USGS, Esri, TANA, DeLorme, and NPS'
405					}
406				},
407				WorldShadedRelief: {
408					options: {
409						variant: 'World_Shaded_Relief',
410						maxZoom: 13,
411						attribution: '{attribution.Esri} &mdash; Source: Esri'
412					}
413				},
414				WorldPhysical: {
415					options: {
416						variant: 'World_Physical_Map',
417						maxZoom: 8,
418						attribution: '{attribution.Esri} &mdash; Source: US National Park Service'
419					}
420				},
421				OceanBasemap: {
422					options: {
423						variant: 'Ocean_Basemap',
424						maxZoom: 13,
425						attribution: '{attribution.Esri} &mdash; Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri'
426					}
427				},
428				NatGeoWorldMap: {
429					options: {
430						variant: 'NatGeo_World_Map',
431						maxZoom: 16,
432						attribution: '{attribution.Esri} &mdash; National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC'
433					}
434				},
435				WorldGrayCanvas: {
436					options: {
437						variant: 'Canvas/World_Light_Gray_Base',
438						maxZoom: 16,
439						attribution: '{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ'
440					}
441				}
442			}
443		},
444		OpenWeatherMap: {
445			url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}',
446			options: {
447				maxZoom: 19,
448				attribution: 'Map data &copy; <a href="http://openweathermap.org">OpenWeatherMap</a>',
449				apiKey:'<insert your api key here>',
450				opacity: 0.5
451			},
452			variants: {
453				Clouds: 'clouds',
454				CloudsClassic: 'clouds_cls',
455				Precipitation: 'precipitation',
456				PrecipitationClassic: 'precipitation_cls',
457				Rain: 'rain',
458				RainClassic: 'rain_cls',
459				Pressure: 'pressure',
460				PressureContour: 'pressure_cntr',
461				Wind: 'wind',
462				Temperature: 'temp',
463				Snow: 'snow'
464			}
465		},
466		HERE: {
467			/*
468			 * HERE maps, formerly Nokia maps.
469			 * These basemaps are free, but you need an API key. Please sign up at
470			 * https://developer.here.com/plans
471			 */
472			url:
473				'https://{s}.{base}.maps.api.here.com/maptile/2.1/' +
474				'{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' +
475				'app_id={app_id}&app_code={app_code}&lg={language}',
476			options: {
477				attribution:
478					'Map &copy; 1987-' + new Date().getFullYear() + ' <a href="http://developer.here.com">HERE</a>',
479				subdomains: '1234',
480				mapID: 'newest',
481				'app_id': '<insert your app_id here>',
482				'app_code': '<insert your app_code here>',
483				base: 'base',
484				variant: 'normal.day',
485				maxZoom: 20,
486				type: 'maptile',
487				language: 'eng',
488				format: 'png8',
489				size: '256'
490			},
491			variants: {
492				normalDay: 'normal.day',
493				normalDayCustom: 'normal.day.custom',
494				normalDayGrey: 'normal.day.grey',
495				normalDayMobile: 'normal.day.mobile',
496				normalDayGreyMobile: 'normal.day.grey.mobile',
497				normalDayTransit: 'normal.day.transit',
498				normalDayTransitMobile: 'normal.day.transit.mobile',
499				normalDayTraffic: {
500					options: {
501						variant: 'normal.traffic.day',
502						base: 'traffic',
503						type: 'traffictile'
504					}
505				},
506				normalNight: 'normal.night',
507				normalNightMobile: 'normal.night.mobile',
508				normalNightGrey: 'normal.night.grey',
509				normalNightGreyMobile: 'normal.night.grey.mobile',
510				normalNightTransit: 'normal.night.transit',
511				normalNightTransitMobile: 'normal.night.transit.mobile',
512				reducedDay: 'reduced.day',
513				reducedNight: 'reduced.night',
514				basicMap: {
515					options: {
516						type: 'basetile'
517					}
518				},
519				mapLabels: {
520					options: {
521						type: 'labeltile',
522						format: 'png'
523					}
524				},
525				trafficFlow: {
526					options: {
527						base: 'traffic',
528						type: 'flowtile'
529					}
530				},
531				carnavDayGrey: 'carnav.day.grey',
532				hybridDay: {
533					options: {
534						base: 'aerial',
535						variant: 'hybrid.day'
536					}
537				},
538				hybridDayMobile: {
539					options: {
540						base: 'aerial',
541						variant: 'hybrid.day.mobile'
542					}
543				},
544				hybridDayTransit: {
545					options: {
546						base: 'aerial',
547						variant: 'hybrid.day.transit'
548					}
549				},
550				hybridDayGrey: {
551					options: {
552						base: 'aerial',
553						variant: 'hybrid.grey.day'
554					}
555				},
556				hybridDayTraffic: {
557					options: {
558						variant: 'hybrid.traffic.day',
559						base: 'traffic',
560						type: 'traffictile'
561					}
562				},
563				pedestrianDay: 'pedestrian.day',
564				pedestrianNight: 'pedestrian.night',
565				satelliteDay: {
566					options: {
567						base: 'aerial',
568						variant: 'satellite.day'
569					}
570				},
571				terrainDay: {
572					options: {
573						base: 'aerial',
574						variant: 'terrain.day'
575					}
576				},
577				terrainDayMobile: {
578					options: {
579						base: 'aerial',
580						variant: 'terrain.day.mobile'
581					}
582				}
583			}
584		},
585		FreeMapSK: {
586			url: 'http://t{s}.freemap.sk/T/{z}/{x}/{y}.jpeg',
587			options: {
588				minZoom: 8,
589				maxZoom: 16,
590				subdomains: '1234',
591				bounds: [[47.204642, 15.996093], [49.830896, 22.576904]],
592				attribution:
593					'{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 <a href="http://freemap.sk">Freemap.sk</a>'
594			}
595		},
596		MtbMap: {
597			url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png',
598			options: {
599				attribution:
600					'{attribution.OpenStreetMap} &amp; USGS'
601			}
602		},
603		CartoDB: {
604			url: 'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png',
605			options: {
606				attribution: '{attribution.OpenStreetMap} &copy; <a href="https://carto.com/attributions">CARTO</a>',
607				subdomains: 'abcd',
608				maxZoom: 19,
609				variant: 'light_all'
610			},
611			variants: {
612				Positron: 'light_all',
613				PositronNoLabels: 'light_nolabels',
614				PositronOnlyLabels: 'light_only_labels',
615				DarkMatter: 'dark_all',
616				DarkMatterNoLabels: 'dark_nolabels',
617				DarkMatterOnlyLabels: 'dark_only_labels',
618				Voyager: 'rastertiles/voyager',
619				VoyagerNoLabels: 'rastertiles/voyager_nolabels',
620				VoyagerOnlyLabels: 'rastertiles/voyager_only_labels',
621				VoyagerLabelsUnder: 'rastertiles/voyager_labels_under'
622			}
623		},
624		HikeBike: {
625			url: 'https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png',
626			options: {
627				maxZoom: 19,
628				attribution: '{attribution.OpenStreetMap}',
629				variant: 'hikebike'
630			},
631			variants: {
632				HikeBike: {},
633				HillShading: {
634					options: {
635						maxZoom: 15,
636						variant: 'hillshading'
637					}
638				}
639			}
640		},
641		BasemapAT: {
642			url: '//maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}',
643			options: {
644				maxZoom: 19,
645				attribution: 'Datenquelle: <a href="https://www.basemap.at">basemap.at</a>',
646				subdomains: ['', '1', '2', '3', '4'],
647				format: 'png',
648				bounds: [[46.358770, 8.782379], [49.037872, 17.189532]],
649				variant: 'geolandbasemap'
650			},
651			variants: {
652				basemap: {
653					options: {
654						maxZoom: 20, // currently only in Vienna
655						variant: 'geolandbasemap'
656					}
657				},
658				grau: 'bmapgrau',
659				overlay: 'bmapoverlay',
660				highdpi: {
661					options: {
662						variant: 'bmaphidpi',
663						format: 'jpeg'
664					}
665				},
666				orthofoto: {
667					options: {
668						maxZoom: 20, // currently only in Vienna
669						variant: 'bmaporthofoto30cm',
670						format: 'jpeg'
671					}
672				}
673			}
674		},
675		nlmaps: {
676			url: '//geodata.nationaalgeoregister.nl/tiles/service/wmts/{variant}/EPSG:3857/{z}/{x}/{y}.png',
677			options: {
678				minZoom: 6,
679				maxZoom: 19,
680				bounds: [[50.5, 3.25], [54, 7.6]],
681				attribution: 'Kaartgegevens &copy; <a href="kadaster.nl">Kadaster</a>'
682			},
683			variants: {
684				'standaard': 'brtachtergrondkaart',
685				'pastel': 'brtachtergrondkaartpastel',
686				'grijs': 'brtachtergrondkaartgrijs',
687				'luchtfoto': {
688					'url': '//geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts/1.0.0/2016_ortho25/EPSG:3857/{z}/{x}/{y}.png',
689				}
690			}
691		},
692		NASAGIBS: {
693			url: 'https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}',
694			options: {
695				attribution:
696					'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' +
697					'(<a href="https://earthdata.nasa.gov">ESDIS</a>) with funding provided by NASA/HQ.',
698				bounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]],
699				minZoom: 1,
700				maxZoom: 9,
701				format: 'jpg',
702				time: '',
703				tilematrixset: 'GoogleMapsCompatible_Level'
704			},
705			variants: {
706				ModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_True
706Color',
707				ModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367',
708				ViirsEarthAtNight2012: {
709					options: {
710						variant: 'VIIRS_CityLights_2012',
711						maxZoom: 8
712					}
713				},
714				ModisTerraLSTDay: {
715					options: {
716						variant: 'MODIS_Terra_Land_Surface_Temp_Day',
717						format: 'png',
718						maxZoom: 7,
719						opacity: 0.75
720					}
721				},
722				ModisTerraSnowCover: {
723					options: {
724						variant: 'MODIS_Terra_Snow_Cover',
725						format: 'png',
726						maxZoom: 8,
727						opacity: 0.75
728					}
729				},
730				ModisTerraAOD: {
731					options: {
732						variant: 'MODIS_Terra_Aerosol',
733						format: 'png',
734						maxZoom: 6,
735						opacity: 0.75
736					}
737				},
738				ModisTerraChlorophyll: {
739					options: {
740						variant: 'MODIS_Terra_Chlorophyll_A',
741						format: 'png',
742						maxZoom: 7,
743						opacity: 0.75
744					}
745				}
746			}
747		},
748		NLS: {
749			// NLS maps are copyright National library of Scotland.
750			// http://maps.nls.uk/projects/api/index.html
751			// Please contact NLS for anything other than non-commercial low volume usage
752			//
753			// Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s
754			//   z0-9  - 1:1m
755			//  z10-11 - quarter inch (1:253440)
756			//  z12-18 - one inch (1:63360)
757			url: '//nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg',
758			options: {
759				attribution: '<a href="http://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>',
760				bounds: [[49.6, -12], [61.7, 3]],
761				minZoom: 1,
762				maxZoom: 18,
763				subdomains: '0123',
764			}
765		},
766		JusticeMap: {
767			// Justice Map (http://www.justicemap.org/)
768			// Visualize race and income data for your community, county and country.
769			// Includes tools for data journalists, bloggers and community activists.
770			url: 'http://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png',
771			options: {
772				attribution: '<a href="http://www.justicemap.org/terms.php">Justice Map</a>',
773				// one of 'county', 'tract', 'block'
774				size: 'county',
775				// Bounds for USA, including Alaska and Hawaii
776				bounds: [[14, -180], [72, -56]]
777			},
778			variants: {
779				income: 'income',
780				americanIndian: 'indian',
781				asian: 'asian',
782				black: 'black',
783				hispanic: 'hispanic',
784				multi: 'multi',
785				nonWhite: 'nonwhite',
786				white: 'white',
787				plurality: 'plural'
788			}
789		},
790		Wikimedia: {
791			url: 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png',
792			options: {
793				attribution: '<a href="https://wikimediafoundation.org/wiki/Maps_Terms_of_Use">Wikimedia</a>',
794				minZoom: 1,
795				maxZoom: 19
796			}
797		},
798		GeoportailFrance: {
799			url: 'https://wxs.ign.fr/{apikey}
799/geoportail/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}',
800			options: {
801				attribution: '<a target="_blank" href="https://www.geoportail.gouv.fr/">Geoportail France</a>',
802				bounds: [[-75, -180], [81, 180]],
803				minZoom: 2,
804				maxZoom: 18,
805				// Get your own geoportail apikey here : http://professionnels.ign.fr/ign/contrats/
806				// NB : 'choisirgeoportail' is a demonstration key that comes with no guarantee
807				apikey: 'choisirgeoportail',
808				format: 'image/jpeg',
809				style : 'normal',
810				variant: 'GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD'
811			},
812			variants: {
813				parcels: {
814					options : {
815						variant: 'CADASTRALPARCELS.PARCELS',
816						maxZoom: 20,
817						style : 'bdparcellaire',
818						format: 'image/png'
819					}
820				},
821				ignMaps: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',
822				maps: 'GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD',
823				orthos: {
824					options: {
825						maxZoom: 19,
826						variant: 'ORTHOIMAGERY.ORTHOPHOTOS'
827					}
828				}
829			}
830		},
831		OneMapSG: {
832			url: '//maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png',
833			options: {
834				variant: 'Default',
835				minZoom: 11,
836				maxZoom: 18,
837				bounds: [[1.56073, 104.11475], [1.16, 103.502]],
838				attribution: '<img src="https://docs.onemap.sg/maps/images/oneMap64-01.png" style="height:20px;width:20px;"/> New OneMap | Map data &copy; contributors, <a href="http://SLA.gov.sg">Singapore Land Authority</a>'
839			},
840			variants: {
841				Default: 'Default',
842				Night: 'Night',
843				Original: 'Original',
844				Grey: 'Grey',
845				LandLot: 'LandLot'
846			}
847		}
848	};
849
850	L.tileLayer.provider = function (provider, options) {
851		return new L.TileLayer.Provider(provider, options);
852	};
853
854	return L;
855}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.