vendor: 6,771 bytes, lines 1-203
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: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', 81 options: { 82 maxZoom: 19, 83 attribution: 84 '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' 85 }, 86 variants: { 87 Mapnik: {}, 88 DE: { 89 url: 'https://tile.openstreetmap.de/{z}/{x}/{y}.png', 90 options: { 91 maxZoom: 18 92 } 93 }, 94 CH: { 95 url: 'https://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: 'https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', 103 options: { 104 maxZoom: 20, 105 attribution: '© OpenStreetMap France | {attribution.OpenStreetMap}' 106 } 107 }, 108 HOT: { 109 url: 'https://{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: 'https://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 MapTilesAPI: { 127 url: 'https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}', 128 options: { 129 attribution: 130 '© <a href="http://www.maptilesapi.com/">MapTiles API</a>, {attribution.OpenStreetMap}', 131 variant: 'en/map/v1', 132 // Get your own MapTiles API access token here : https://www.maptilesapi.com/ 133 // NB : this is a demonstration key that comes with no guarantee and not to be used in production 134 apikey: '<insert your api key here>', 135 maxZoom: 19 136 }, 137 variants: { 138 OSMEnglish: { 139 options: { 140 variant: 'en/map/v1' 141 } 142 }, 143 OSMFrancais: { 144 options: { 145 variant: 'fr/map/v1' 146 } 147 }, 148 OSMEspagnol: { 149 options: { 150 variant: 'es/map/v1' 151 } 152 } 153 } 154 }, 155 OpenSeaMap: { 156 url: 'https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', 157 options: { 158 attribution: 'Map data: © <a href="http://www.openseamap.org">OpenSeaMap</a> contributors' 159 } 160 }, 161 OPNVKarte: { 162 url: 'https://tileserver.memomaps.de/tilegen/{z}/{x}/{y}.png', 163 options: { 164 maxZoom: 18, 165 attribution: 'Map <a href="https://memomaps.de/">memomaps.de</a> <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, map data {attribution.OpenStreetMap}' 166 } 167 }, 168 OpenTopoMap: { 169 url: 'https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', 170 options: { 171 maxZoom: 17, 172 attribution: 'Map data: {attribution.OpenStreetMap}, <a href="http://viewfinderpanoramas.org">SRTM</a> | Map style: © <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' 173 } 174 }, 175 OpenRailwayMap: { 176 url: 'https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png', 177 options: { 178 maxZoom: 19, 179 attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="https://www.OpenRailwayMap.org">OpenRailwayMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' 180 } 181 }, 182 OpenFireMap: { 183 url: 'http://openfiremap.org/hytiles/{z}/{x}/{y}.png', 184 options: { 185 maxZoom: 19, 186 attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="http://www.openfiremap.org">OpenFireMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' 187 } 188 }, 189 SafeCast: { 190 url: 'https://s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png', 191 options: { 192 maxZoom: 16, 193 attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="https://blog.safecast.org/about/">SafeCast</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' 194 } 195 }, 196 Stadia: { 197 url: 'https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}', 198 options: { 199 minZoom: 0, 200 maxZoom: 20, 201 attribution: 202 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 203 '© <a href="https://openmaptiles.org/" target="_blank">
203OpenMapTiles</a> ' + 204 '{attribution.OpenStreetMap}', 205 variant: 'alidade_smooth', 206 ext: 'png' 207 }, 208 variants: { 209 AlidadeSmooth: 'alidade_smooth', 210 AlidadeSmoothDark: 'alidade_smooth_dark', 211 OSMBright: 'osm_bright', 212 Outdoors: 'outdoors', 213 StamenToner: { 214 options: { 215 attribution: 216 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 217 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 218 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 219 '{attribution.OpenStreetMap}', 220 variant: 'stamen_toner' 221 } 222 }, 223 StamenTonerBackground: { 224 options: { 225 attribution: 226 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 227 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 228 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 229 '{attribution.OpenStreetMap}', 230 variant: 'stamen_toner_background' 231 } 232 }, 233 StamenTonerLines: { 234 options: { 235 attribution: 236 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 237 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 238 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 239 '{attribution.OpenStreetMap}', 240 variant: 'stamen_toner_lines' 241 } 242 }, 243 StamenTonerLabels: { 244 options: { 245 attribution: 246 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 247 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 248 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 249 '{attribution.OpenStreetMap}', 250 variant: 'stamen_toner_labels' 251 } 252 }, 253 StamenTonerLite: { 254 options: { 255 attribution: 256 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 257 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 258 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 259 '{attribution.OpenStreetMap}', 260 variant: 'stamen_toner_lite' 261 } 262 }, 263 StamenWatercolor: { 264 url: 'https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}.{ext}', 265 options: { 266 attribution: 267 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 268 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 269 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 270 '{attribution.OpenStreetMap}', 271 variant: 'stamen_watercolor', 272 ext: 'jpg', 273 minZoom: 1, 274 maxZoom: 16 275 } 276 }, 277 StamenTerrain: { 278 options: { 279 attribution: 280 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 281 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 282 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 283 '{attribution.OpenStreetMap}', 284 variant: 'stamen_terrain', 285 minZoom: 0, 286 maxZoom: 18 287 } 288 }, 289 StamenTerrainBackground: { 290 options: { 291 attribution: 292 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 293 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 294 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 295 '{attribution.OpenStreetMap}', 296 variant: 'stamen_terrain_background', 297 minZoom: 0, 298 maxZoom: 18 299 } 300 }, 301 StamenTerrainLabels: { 302 options: { 303 attribution: 304 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 305 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 306 '© <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> ' + 307 '{attribution.OpenStreetMap}', 308 variant: 'stamen_terrain_labels', 309 minZoom: 0, 310 maxZoom: 18 311 } 312 }, 313 StamenTerrainLines: { 314 options: { 315 attribution: 316 '© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> ' + 317 '© <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> ' + 318 '© <a href="https://openmaptiles.org/" target="_blank">
vendor: 16,387 bytes, lines 318-922
318OpenMapTiles</a> ' + 319 '{attribution.OpenStreetMap}', 320 variant: 'stamen_terrain_lines', 321 minZoom: 0, 322 maxZoom: 18 323 } 324 } 325 } 326 }, 327 Thunderforest: { 328 url: 'https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}', 329 options: { 330 attribution: 331 '© <a href="http://www.thunderforest.com/">Thunderforest</a>, {attribution.OpenStreetMap}', 332 variant: 'cycle', 333 apikey: '<insert your api key here>', 334 maxZoom: 22 335 }, 336 variants: { 337 OpenCycleMap: 'cycle', 338 Transport: { 339 options: { 340 variant: 'transport' 341 } 342 }, 343 TransportDark: { 344 options: { 345 variant: 'transport-dark' 346 } 347 }, 348 SpinalMap: { 349 options: { 350 variant: 'spinal-map' 351 } 352 }, 353 Landscape: 'landscape', 354 Outdoors: 'outdoors', 355 Pioneer: 'pioneer', 356 MobileAtlas: 'mobile-atlas', 357 Neighbourhood: 'neighbourhood' 358 } 359 }, 360 CyclOSM: { 361 url: 'https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png', 362 options: { 363 maxZoom: 20, 364 attribution: '<a href="https://github.com/cyclosm/cyclosm-cartocss-style/releases" title="CyclOSM - Open Bicycle render">CyclOSM</a> | Map data: {attribution.OpenStreetMap}' 365 } 366 }, 367 Jawg: { 368 url: 'https://{s}.tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}', 369 options: { 370 attribution: 371 '<a href="http://jawg.io" title="Tiles Courtesy of Jawg Maps" target="_blank">© <b>Jawg</b>Maps</a> ' + 372 '{attribution.OpenStreetMap}', 373 minZoom: 0, 374 maxZoom: 22, 375 subdomains: 'abcd', 376 variant: 'jawg-terrain', 377 // Get your own Jawg access token here : https://www.jawg.io/lab/ 378 // NB : this is a demonstration key that comes with no guarantee 379 accessToken: '<insert your access token here>', 380 }, 381 variants: { 382 Streets: 'jawg-streets', 383 Terrain: 'jawg-terrain', 384 Sunny: 'jawg-sunny', 385 Dark: 'jawg-dark', 386 Light: 'jawg-light', 387 Matrix: 'jawg-matrix' 388 } 389 }, 390 MapBox: { 391 url: 'https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}{r}?access_token={accessToken}', 392 options: { 393 attribution: 394 '© <a href="https://www.mapbox.com/about/maps/" target="_blank">Mapbox</a> ' + 395 '{attribution.OpenStreetMap} ' + 396 '<a href="https://www.mapbox.com/map-feedback/" target="_blank">Improve this map</a>', 397 tileSize: 512, 398 maxZoom: 18, 399 zoomOffset: -1, 400 id: 'mapbox/streets-v11', 401 accessToken: '<insert your access token here>', 402 } 403 }, 404 MapTiler: { 405 url: 'https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}', 406 options: { 407 attribution: 408 '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>', 409 variant: 'streets', 410 ext: 'png', 411 key: '<insert your MapTiler Cloud API key here>', 412 tileSize: 512, 413 zoomOffset: -1, 414 minZoom: 0, 415 maxZoom: 21 416 }, 417 variants: { 418 Streets: 'streets', 419 Basic: 'basic', 420 Bright: 'bright', 421 Pastel: 'pastel', 422 Positron: 'positron', 423 Hybrid: { 424 options: { 425 variant: 'hybrid', 426 ext: 'jpg' 427 } 428 }, 429 Toner: 'toner', 430 Topo: 'topo', 431 Voyager: 'voyager' 432 } 433 }, 434 TomTom: { 435 url: 'https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}', 436 options: { 437 variant: 'basic', 438 maxZoom: 22, 439 attribution: 440 '<a href="https://tomtom.com" target="_blank">© 1992 - ' + new Date().getFullYear() + ' TomTom.</a> ', 441 subdomains: 'abcd', 442 style: 'main', 443 ext: 'png', 444 apikey: '<insert your API key here>', 445 }, 446 variants: { 447 Basic: 'basic', 448 Hybrid: 'hybrid', 449 Labels: 'labels' 450 } 451 }, 452 Esri: { 453 url: 'https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}', 454 options: { 455 variant: 'World_Street_Map', 456 attribution: 'Tiles © Esri' 457 }, 458 variants: { 459 WorldStreetMap: { 460 options: { 461 attribution: 462 '{attribution.Esri} — ' + 463 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012' 464 } 465 }, 466 DeLorme: { 467 options: { 468 variant: 'Specialty/DeLorme_World_Base_Map', 469 minZoom: 1, 470 maxZoom: 11, 471 attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme' 472 } 473 }, 474 WorldTopoMap: { 475 options: { 476 variant: 'World_Topo_Map', 477 attribution: 478 '{attribution.Esri} — ' + 479 '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' 480 } 481 }, 482 WorldImagery: { 483 options: { 484 variant: 'World_Imagery', 485 attribution: 486 '{attribution.Esri} — ' + 487 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' 488 } 489 }, 490 WorldTerrain: { 491 options: { 492 variant: 'World_Terrain_Base', 493 maxZoom: 13, 494 attribution: 495 '{attribution.Esri} — ' + 496 'Source: USGS, Esri, TANA, DeLorme, and NPS' 497 } 498 }, 499 WorldShadedRelief: { 500 options: { 501 variant: 'World_Shaded_Relief', 502 maxZoom: 13, 503 attribution: '{attribution.Esri} — Source: Esri' 504 } 505 }, 506 WorldPhysical: { 507 options: { 508 variant: 'World_Physical_Map', 509 maxZoom: 8, 510 attribution: '{attribution.Esri} — Source: US National Park Service' 511 } 512 }, 513 OceanBasemap: { 514 options: { 515 variant: 'Ocean/World_Ocean_Base', 516 maxZoom: 13, 517 attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri' 518 } 519 }, 520 NatGeoWorldMap: { 521 options: { 522 variant: 'NatGeo_World_Map', 523 maxZoom: 16, 524 attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC' 525 } 526 }, 527 WorldGrayCanvas: { 528 options: { 529 variant: 'Canvas/World_Light_Gray_Base', 530 maxZoom: 16, 531 attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ' 532 } 533 } 534 } 535 }, 536 OpenWeatherMap: { 537 url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}', 538 options: { 539 maxZoom: 19, 540 attribution: 'Map data © <a href="http://openweathermap.org">OpenWeatherMap</a>', 541 apiKey: '<insert your api key here>', 542 opacity: 0.5 543 }, 544 variants: { 545 Clouds: 'clouds', 546 CloudsClassic: 'clouds_cls', 547 Precipitation: 'precipitation', 548 PrecipitationClassic: 'precipitation_cls', 549 Rain: 'rain', 550 RainClassic: 'rain_cls', 551 Pressure: 'pressure', 552 PressureContour: 'pressure_cntr', 553 Wind: 'wind', 554 Temperature: 'temp', 555 Snow: 'snow' 556 } 557 }, 558 HERE: { 559 /* 560 * HERE maps, formerly Nokia maps. 561 * These basemaps are free, but you need an api id and app key. Please sign up at 562 * https://developer.here.com/plans 563 */ 564 url: 565 'https://{s}.{base}.maps.api.here.com/maptile/2.1/' + 566 '{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' + 567 'app_id={app_id}&app_code={app_code}&lg={language}', 568 options: { 569 attribution: 570 'Map © 1987-' + new Date().getFullYear() + ' <a href="http://developer.here.com">HERE</a>', 571 subdomains: '1234', 572 mapID: 'newest', 573 'app_id': '<insert your app_id here>', 574 'app_code': '<insert your app_code here>', 575 base: 'base', 576 variant: 'normal.day', 577 maxZoom: 20, 578 type: 'maptile', 579 language: 'eng', 580 format: 'png8', 581 size: '256' 582 }, 583 variants: { 584 normalDay: 'normal.day', 585 normalDayCustom: 'normal.day.custom', 586 normalDayGrey: 'normal.day.grey', 587 normalDayMobile: 'normal.day.mobile', 588 normalDayGreyMobile: 'normal.day.grey.mobile', 589 normalDayTransit: 'normal.day.transit', 590 normalDayTransitMobile: 'normal.day.transit.mobile', 591 normalDayTraffic: { 592 options: { 593 variant: 'normal.traffic.day', 594 base: 'traffic', 595 type: 'traffictile' 596 } 597 }, 598 normalNight: 'normal.night', 599 normalNightMobile: 'normal.night.mobile', 600 normalNightGrey: 'normal.night.grey', 601 normalNightGreyMobile: 'normal.night.grey.mobile', 602 normalNightTransit: 'normal.night.transit', 603 normalNightTransitMobile: 'normal.night.transit.mobile', 604 reducedDay: 'reduced.day', 605 reducedNight: 'reduced.night', 606 basicMap: { 607 options: { 608 type: 'basetile' 609 } 610 }, 611 mapLabels: { 612 options: { 613 type: 'labeltile', 614 format: 'png' 615 } 616 }, 617 trafficFlow: { 618 options: { 619 base: 'traffic', 620 type: 'flowtile' 621 } 622 }, 623 carnavDayGrey: 'carnav.day.grey', 624 hybridDay: { 625 options: { 626 base: 'aerial', 627 variant: 'hybrid.day' 628 } 629 }, 630 hybridDayMobile: { 631 options: { 632 base: 'aerial', 633 variant: 'hybrid.day.mobile' 634 } 635 }, 636 hybridDayTransit: { 637 options: { 638 base: 'aerial', 639 variant: 'hybrid.day.transit' 640 } 641 }, 642 hybridDayGrey: { 643 options: { 644 base: 'aerial', 645 variant: 'hybrid.grey.day' 646 } 647 }, 648 hybridDayTraffic: { 649 options: { 650 variant: 'hybrid.traffic.day', 651 base: 'traffic', 652 type: 'traffictile' 653 } 654 }, 655 pedestrianDay: 'pedestrian.day', 656 pedestrianNight: 'pedestrian.night', 657 satelliteDay: { 658 options: { 659 base: 'aerial', 660 variant: 'satellite.day' 661 } 662 }, 663 terrainDay: { 664 options: { 665 base: 'aerial', 666 variant: 'terrain.day' 667 } 668 }, 669 terrainDayMobile: { 670 options: { 671 base: 'aerial', 672 variant: 'terrain.day.mobile' 673 } 674 } 675 } 676 }, 677 HEREv3: { 678 /* 679 * HERE maps API Version 3. 680 * These basemaps are free, but you need an API key. Please sign up at 681 * https://developer.here.com/plans 682 * Version 3 deprecates the app_id and app_code access in favor of apiKey 683 * 684 * Supported access methods as of 2019/12/21: 685 * @see https://developer.here.com/faqs#access-control-1--how-do-you-control-access-to-here-location-services 686 */ 687 url: 688 'https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/' + 689 '{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' + 690 'apiKey={apiKey}&lg={language}', 691 options: { 692 attribution: 693 'Map © 1987-' + new Date().getFullYear() + ' <a href="http://developer.here.com">HERE</a>', 694 subdomains: '1234', 695 mapID: 'newest', 696 apiKey: '<insert your apiKey here>', 697 base: 'base', 698 variant: 'normal.day', 699 maxZoom: 20, 700 type: 'maptile', 701 language: 'eng', 702 format: 'png8', 703 size: '256' 704 }, 705 variants: { 706 normalDay: 'normal.day', 707 normalDayCustom: 'normal.day.custom', 708 normalDayGrey: 'normal.day.grey', 709 normalDayMobile: 'normal.day.mobile', 710 normalDayGreyMobile: 'normal.day.grey.mobile', 711 normalDayTransit: 'normal.day.transit', 712 normalDayTransitMobile: 'normal.day.transit.mobile', 713 normalNight: 'normal.night', 714 normalNightMobile: 'normal.night.mobile', 715 normalNightGrey: 'normal.night.grey', 716 normalNightGreyMobile: 'normal.night.grey.mobile', 717 normalNightTransit: 'normal.night.transit', 718 normalNightTransitMobile: 'normal.night.transit.mobile', 719 reducedDay: 'reduced.day', 720 reducedNight: 'reduced.night', 721 basicMap: { 722 options: { 723 type: 'basetile' 724 } 725 }, 726 mapLabels: { 727 options: { 728 type: 'labeltile', 729 format: 'png' 730 } 731 }, 732 trafficFlow: { 733 options: { 734 base: 'traffic', 735 type: 'flowtile' 736 } 737 }, 738 carnavDayGrey: 'carnav.day.grey', 739 hybridDay: { 740 options: { 741 base: 'aerial', 742 variant: 'hybrid.day' 743 } 744 }, 745 hybridDayMobile: { 746 options: { 747 base: 'aerial', 748 variant: 'hybrid.day.mobile' 749 } 750 }, 751 hybridDayTransit: { 752 options: { 753 base: 'aerial', 754 variant: 'hybrid.day.transit' 755 } 756 }, 757 hybridDayGrey: { 758 options: { 759 base: 'aerial', 760 variant: 'hybrid.grey.day' 761 } 762 }, 763 pedestrianDay: 'pedestrian.day', 764 pedestrianNight: 'pedestrian.night', 765 satelliteDay: { 766 options: { 767 base: 'aerial', 768 variant: 'satellite.day' 769 } 770 }, 771 terrainDay: { 772 options: { 773 base: 'aerial', 774 variant: 'terrain.day' 775 } 776 }, 777 terrainDayMobile: { 778 options: { 779 base: 'aerial', 780 variant: 'terrain.day.mobile' 781 } 782 } 783 } 784 }, 785 FreeMapSK: { 786 url: 'https://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg', 787 options: { 788 minZoom: 8, 789 maxZoom: 16, 790 subdomains: 'abcd', 791 bounds: [[47.204642, 15.996093], [49.830896, 22.576904]], 792 attribution: 793 '{attribution.OpenStreetMap}, visualization CC-By-SA 2.0 <a href="http://freemap.sk">Freemap.sk</a>' 794 } 795 }, 796 MtbMap: { 797 url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png', 798 options: { 799 attribution: 800 '{attribution.OpenStreetMap} & USGS' 801 } 802 }, 803 CartoDB: { 804 url: 'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png?key={apikey}', 805 options: { 806 attribution: '{attribution.OpenStreetMap} © <a href="https://carto.com/attributions">CARTO</a>', 807 subdomains: 'abcd', 808 apikey: '', 809 maxZoom: 20, 810 variant: 'light_all' 811 }, 812 variants: { 813 Positron: 'light_all', 814 PositronNoLabels: 'light_nolabels', 815 PositronOnlyLabels: 'light_only_labels', 816 DarkMatter: 'dark_all', 817 DarkMatterNoLabels: 'dark_nolabels', 818 DarkMatterOnlyLabels: 'dark_only_labels', 819 Voyager: 'rastertiles/voyager', 820 VoyagerNoLabels: 'rastertiles/voyager_nolabels', 821 VoyagerOnlyLabels: 'rastertiles/voyager_only_labels', 822 VoyagerLabelsUnder: 'rastertiles/voyager_labels_under' 823 } 824 }, 825 HikeBike: { 826 url: 'https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png', 827 options: { 828 maxZoom: 19, 829 attribution: '{attribution.OpenStreetMap}', 830 variant: 'hikebike' 831 }, 832 variants: { 833 HikeBike: {}, 834 HillShading: { 835 options: { 836 maxZoom: 15, 837 variant: 'hillshading' 838 } 839 } 840 } 841 }, 842 BasemapAT: { 843 url: 'https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}', 844 options: { 845 maxZoom: 19, 846 attribution: 'Datenquelle: <a href="https://www.basemap.at">basemap.at</a>', 847 type: 'normal', 848 format: 'png', 849 bounds: [[46.358770, 8.782379], [49.037872, 17.189532]], 850 variant: 'geolandbasemap' 851 }, 852 variants: { 853 basemap: { 854 options: { 855 maxZoom: 20, // currently only in Vienna 856 variant: 'geolandbasemap' 857 } 858 }, 859 grau: 'bmapgrau', 860 overlay: 'bmapoverlay', 861 terrain: { 862 options: { 863 variant: 'bmapgelaende', 864 type: 'grau', 865 format: 'jpeg' 866 } 867 }, 868 surface: { 869 options: { 870 variant: 'bmapoberflaeche', 871 type: 'grau', 872 format: 'jpeg' 873 } 874 }, 875 highdpi: { 876 options: { 877 variant: 'bmaphidpi', 878 format: 'jpeg' 879 } 880 }, 881 orthofoto: { 882 options: { 883 maxZoom: 20, // currently only in Vienna 884 variant: 'bmaporthofoto30cm', 885 format: 'jpeg' 886 } 887 } 888 } 889 }, 890 nlmaps: { 891 url: 'https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png', 892 options: { 893 minZoom: 6, 894 maxZoom: 19, 895 bounds: [[50.5, 3.25], [54, 7.6]], 896 attribution: 'Kaartgegevens © <a href="https://www.kadaster.nl">Kadaster</a>' 897 }, 898 variants: { 899 'standaard': 'standaard', 900 'pastel': 'pastel', 901 'grijs': 'grijs', 902 'water': 'water', 903 'luchtfoto': { 904 'url': 'https://service.pdok.nl/hwh/luchtfotorgb/wmts/v1_0/Actueel_ortho25/EPSG:3857/{z}/{x}/{y}.jpeg', 905 } 906 } 907 }, 908 NASAGIBS: { 909 url: 'https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}', 910 options: { 911 attribution: 912 'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' + 913 '(<a href="https://earthdata.nasa.gov">ESDIS</a>) with funding provided by NASA/HQ.', 914 bounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]], 915 minZoom: 1, 916 maxZoom: 9, 917 format: 'jpg', 918 time: '', 919 tilematrixset: 'GoogleMapsCompatible_Level' 920 }, 921 variants: { 922 ModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_True
922Color', 923 ModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367', 924 ViirsEarthAtNight2012: { 925 options: { 926 variant: 'VIIRS_CityLights_2012', 927 maxZoom: 8 928 } 929 }, 930 ModisTerraLSTDay: { 931 options: { 932 variant: 'MODIS_Terra_Land_Surface_Temp_Day', 933 format: 'png', 934 maxZoom: 7, 935 opacity: 0.75 936 } 937 }, 938 ModisTerraSnowCover: { 939 options: { 940 variant: 'MODIS_Terra_NDSI_Snow_Cover', 941 format: 'png', 942 maxZoom: 8, 943 opacity: 0.75 944 } 945 }, 946 ModisTerraAOD: { 947 options: { 948 variant: 'MODIS_Terra_Aerosol', 949 format: 'png', 950 maxZoom: 6, 951 opacity: 0.75 952 } 953 }, 954 ModisTerraChlorophyll: { 955 options: { 956 variant: 'MODIS_Terra_Chlorophyll_A', 957 format: 'png', 958 maxZoom: 7, 959 opacity: 0.75 960 } 961 } 962 } 963 }, 964 NLS: { 965 // NLS maps are copyright National library of Scotland. 966 // http://maps.nls.uk/projects/api/index.html 967 // Please contact NLS for anything other than non-commercial low volume usage 968 // 969 // Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s 970 // z0-9 - 1:1m 971 // z10-11 - quarter inch (1:253440) 972 // z12-18 - one inch (1:63360) 973 url: 'https://nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg', 974 options: { 975 attribution: '<a href="http://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>', 976 bounds: [[49.6, -12], [61.7, 3]], 977 minZoom: 1, 978 maxZoom: 18, 979 subdomains: '0123', 980 } 981 }, 982 JusticeMap: { 983 // Justice Map (http://www.justicemap.org/) 984 // Visualize race and income data for your community, county and country. 985 // Includes tools for data journalists, bloggers and community activists. 986 url: 'https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png', 987 options: { 988 attribution: '<a href="http://www.justicemap.org/terms.php">Justice Map</a>', 989 // one of 'county', 'tract', 'block' 990 size: 'county', 991 // Bounds for USA, including Alaska and Hawaii 992 bounds: [[14, -180], [72, -56]] 993 }, 994 variants: { 995 income: 'income', 996 americanIndian: 'indian', 997 asian: 'asian', 998 black: 'black', 999 hispanic: 'hispanic', 1000 multi: 'multi', 1001 nonWhite: 'nonwhite', 1002 white: 'white', 1003 plurality: 'plural' 1004 } 1005 }, 1006 GeoportailFrance: { 1007 url: 'https://wxs.ign.fr/{apikey}
1007/geoportail/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}', 1008 options: { 1009 attribution: '<a target="_blank" href="https://www.geoportail.gouv.fr/">Geoportail France</a>', 1010 bounds: [[-75, -180], [81, 180]], 1011 minZoom: 2, 1012 maxZoom: 18, 1013 // Get your own geoportail apikey here : http://professionnels.ign.fr/ign/contrats/ 1014 // NB : 'choisirgeoportail' is a demonstration key that comes with no guarantee 1015 apikey: 'choisirgeoportail', 1016 format: 'image/png', 1017 style: 'normal', 1018 variant: 'GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2' 1019 }, 1020 variants: { 1021 plan: 'GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2', 1022 parcels: { 1023 options: { 1024 variant: 'CADASTRALPARCELS.PARCELLAIRE_EXPRESS', 1025 style: 'PCI vecteur', 1026 maxZoom: 20 1027 } 1028 }, 1029 orthos: { 1030 options: { 1031 maxZoom: 19, 1032 format: 'image/jpeg', 1033 variant: 'ORTHOIMAGERY.ORTHOPHOTOS' 1034 } 1035 } 1036 } 1037 }, 1038 OneMapSG: { 1039 url: 'https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png', 1040 options: { 1041 variant: 'Default', 1042 minZoom: 11, 1043 maxZoom: 18, 1044 bounds: [[1.56073, 104.11475], [1.16, 103.502]], 1045 attribution: '<img src="https://docs.onemap.sg/maps/images/oneMap64-01.png" style="height:20px;width:20px;"/> New OneMap | Map data © contributors, <a href="http://SLA.gov.sg">Singapore Land Authority</a>' 1046 }, 1047 variants: { 1048 Default: 'Default', 1049 Night: 'Night', 1050 Original: 'Original', 1051 Grey: 'Grey', 1052 LandLot: 'LandLot' 1053 } 1054 }, 1055 USGS: { 1056 url: 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/M
vendor: 4,236 bytes, lines 1056-1179
1056apServer/tile/{z}/{y}/{x}', 1057 options: { 1058 maxZoom: 20, 1059 attribution: 'Tiles courtesy of the <a href="https://usgs.gov/">U.S. Geological Survey</a>' 1060 }, 1061 variants: { 1062 USTopo: {}, 1063 USImagery: { 1064 url: 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}' 1065 }, 1066 USImageryTopo: { 1067 url: 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryTopo/MapServer/tile/{z}/{y}/{x}' 1068 } 1069 } 1070 }, 1071 WaymarkedTrails: { 1072 url: 'https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png', 1073 options: { 1074 maxZoom: 18, 1075 attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="https://waymarkedtrails.org">waymarkedtrails.org</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' 1076 }, 1077 variants: { 1078 hiking: 'hiking', 1079 cycling: 'cycling', 1080 mtb: 'mtb', 1081 slopes: 'slopes', 1082 riding: 'riding', 1083 skating: 'skating' 1084 } 1085 }, 1086 OpenAIP: { 1087 url: 'https://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.{ext}', 1088 options: { 1089 attribution: '<a href="https://www.openaip.net/">openAIP Data</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-NC-SA</a>)', 1090 ext: 'png', 1091 minZoom: 4, 1092 maxZoom: 14, 1093 tms: true, 1094 detectRetina: true, 1095 subdomains: '12' 1096 } 1097 }, 1098 OpenSnowMap: { 1099 url: 'https://tiles.opensnowmap.org/{variant}/{z}/{x}/{y}.png', 1100 options: { 1101 minZoom: 9, 1102 maxZoom: 18, 1103 attribution: 'Map data: {attribution.OpenStreetMap} & ODbL, © <a href="https://www.opensnowmap.org/iframes/data.html">www.opensnowmap.org</a> <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>' 1104 }, 1105 variants: { 1106 pistes: 'pistes', 1107 } 1108 }, 1109 AzureMaps: { 1110 url: 1111 'https://atlas.microsoft.com/map/tile?api-version={apiVersion}'+ 1112 '&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}'+ 1113 '&subscription-key={subscriptionKey}', 1114 options: { 1115 attribution: 'See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.', 1116 apiVersion: '2.0', 1117 variant: 'microsoft.imagery', 1118 subscriptionKey: '<insert your subscription key here>', 1119 language: 'en-US', 1120 }, 1121 variants: { 1122 MicrosoftImagery: 'microsoft.imagery', 1123 MicrosoftBaseDarkGrey: 'microsoft.base.darkgrey', 1124 MicrosoftBaseRoad: 'microsoft.base.road', 1125 MicrosoftBaseHybridRoad: 'microsoft.base.hybrid.road', 1126 MicrosoftTerraMain: 'microsoft.terra.main', 1127 MicrosoftWeatherInfraredMain: { 1128 url: 1129 'https://atlas.microsoft.com/map/tile?api-version={apiVersion}'+ 1130 '&tilesetId={variant}&x={x}&y={y}&zoom={z}'+ 1131 '&timeStamp={timeStamp}&language={language}' + 1132 '&subscription-key={subscriptionKey}', 1133 options: { 1134 timeStamp: '2021-05-08T09:03:00Z', 1135 attribution: 'See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.', 1136 variant: 'microsoft.weather.infrared.main', 1137 }, 1138 }, 1139 MicrosoftWeatherRadarMain: { 1140 url: 1141 'https://atlas.microsoft.com/map/tile?api-version={apiVersion}'+ 1142 '&tilesetId={variant}&x={x}&y={y}&zoom={z}'+ 1143 '&timeStamp={timeStamp}&language={language}' + 1144 '&subscription-key={subscriptionKey}', 1145 options: { 1146 timeStamp: '2021-05-08T09:03:00Z', 1147 attribution: 'See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.', 1148 variant: 'microsoft.weather.radar.main', 1149 }, 1150 } 1151 }, 1152 }, 1153 SwissFederalGeoportal: { 1154 url: 'https://wmts.geo.admin.ch/1.0.0/{variant}/default/current/3857/{z}/{x}/{y}.jpeg', 1155 options: { 1156 attribution: '© <a href="https://www.swisstopo.admin.ch/">swisstopo</a>', 1157 minZoom: 2, 1158 maxZoom: 18, 1159 bounds: [[45.398181, 5.140242], [48.230651, 11.47757]] 1160 }, 1161 variants: { 1162 NationalMapColor: 'ch.swisstopo.pixelkarte-farbe', 1163 NationalMapGrey: 'ch.swisstopo.pixelkarte-grau', 1164 SWISSIMAGE: { 1165 options: { 1166 variant: 'ch.swisstopo.swissimage', 1167 maxZoom: 19 1168 } 1169 } 1170 } 1171 } 1172 }; 1173 1174 L.tileLayer.provider = function (provider, options) { 1175 return new L.TileLayer.Provider(provider, options); 1176 }; 1177 1178 return L; 1179}));
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.