PageSourceSearch

https://lakesideestate.com/js/leaflet-providers.js

js lakesideestate.com collected 2026-10-10 00:33:44 UTC 22,408 bytes, 774 lines download raw bytes

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

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.