@@ -26468,30 +26468,44 @@ return jQuery;
2646826468},{}],7:[function(require,module,exports){
2646926469const layers = require("./info.json");
2647026470
26471- let layers0 = [],layers1 = [],layers2 = [],layers3 = [],layers4 = [],layers5 = [],layers6 = [];
26472-
26471+ let layers0 = [],
26472+ layers1 = [],
26473+ layers2 = [],
26474+ layers3 = [],
26475+ layers4 = [],
26476+ layers5 = [],
26477+ layers6 = [],
26478+ layers7 = [];
26479+
26480+ // This section deals with different layers in customized ways.
26481+ // I think we could restructure to detect some layers which are groups
26482+ // containing multiple other layers, or most other layouts, automatically.
26483+
26484+ // handle simpler layers which have a layer_group defined in info.json
2647326485for (let key in layers) {
2647426486 if (layers.hasOwnProperty(key)) {
2647526487 let layer = layers[key];
26476- if(layer.layer_group == 0){
26488+ if (layer.layer_group == 0) {
2647726489 layers0.push(key)
26478- }
26479- if(layer.layer_group == 1){
26490+ } else if (layer.layer_group == 1) {
2648026491 layers1.push(key)
26481- }
26482- if(layer.layer_group == 3){
26492+ } else if (layer.layer_group == 3) {
2648326493 layers3.push(key)
26484- }
26485- if(layer.layer_group == 6){
26494+ } else if (layer.layer_group == 6) {
2648626495 layers6.push(key)
2648726496 }
2648826497 }
2648926498}
26499+
26500+ // handle special cases later with a special key
2649026501layers0.push("purpleLayer")
2649126502layers1.push("purpleairmarker")
26503+
26504+ // handle grouped layers which have a layers property (an array of sublayers)
2649226505layers2 = layers.openInfraMap.layers;
2649326506layers4 = layers.justiceMap.layers;
2649426507layers5 = layers.openWeatherMap.layers;
26508+ layers7 = layers.indigenousLands.layers;
2649526509
2649626510L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2649726511
@@ -26511,6 +26525,7 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2651126525 layers4: layers4,
2651226526 layers5: layers5,
2651326527 layers6: layers6,
26528+ layers7: layers7
2651426529
2651526530 },
2651626531
@@ -26520,7 +26535,17 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2652026535
2652126536 this.options.addLayersToMap = !!param.include ? param.addLayersToMap : false;
2652226537
26523- param.all = [...this.options.layers0, ...this.options.layers1, ...this.options.layers2, ...this.options.layers3, ...this.options.layers4, ...this.options.layers5, ...this.options.layers6];
26538+ param.all = [
26539+ ...this.options.layers0,
26540+ ...this.options.layers1,
26541+ ...this.options.layers2,
26542+ ...this.options.layers3,
26543+ ...this.options.layers4,
26544+ ...this.options.layers5,
26545+ ...this.options.layers6,
26546+ ...this.options.layers7
26547+ ];
26548+
2652426549 if (!param.include || !param.include.length) {
2652526550 param.include = param.all;
2652626551 }
@@ -26532,6 +26557,7 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2653226557
2653326558 this.options.layers = param;
2653426559
26560+ // define layers from OpenInfraMap for later use
2653526561 this._OpenInfraMap_Power = L.tileLayer('https://tiles-{s}.openinframap.org/power/{z}/{x}/{y}.png', {
2653626562 maxZoom: 18,
2653726563 attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>, <a href="http://www.openinframap.org/about.html">About OpenInfraMap</a>',
@@ -26600,8 +26626,7 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2660026626 default:
2660126627 this.groupedOverlayMaps[layer] = this.overlayMaps[layer];
2660226628 }
26603- }
26604- else if (this.options.layers2.includes(layer)) {
26629+ } else if (this.options.layers2.includes(layer)) {
2660526630 if(!this.groupedOverlayMaps.OpenInfraMap) {
2660626631 this.groupedOverlayMaps.OpenInfraMap = { category: 'group', layers: {} };
2660726632 }
@@ -26624,21 +26649,18 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2662426649 this.groupedOverlayMaps.OpenInfraMap.layers[layer] = this.overlayMaps[layer];
2662526650 break;
2662626651 }
26627- }
26628- else if (this.options.layers3.includes(layer)) {
26652+ } else if (this.options.layers3.includes(layer)) {
2662926653 this.overlayMaps[layer] = window[layer + 'Layer'](map);
2663026654 this.groupedOverlayMaps[layer] = this.overlayMaps[layer];
26631- }
26632- else if (this.options.layers4.includes(layer)) {
26655+ } else if (this.options.layers4.includes(layer)) {
2663326656 if(!this.groupedOverlayMaps.Justicemap) {
2663426657 this.groupedOverlayMaps.Justicemap = { category: 'group', layers: {} };
2663526658 }
2663626659 this.overlayMaps[layer] = window['L']['tileLayer']['provider']('JusticeMap.'+layer).on('tileerror', function() {
2663726660 this.onError(layer, true);
2663826661 });
2663926662 this.groupedOverlayMaps.Justicemap.layers[layer] = this.overlayMaps[layer];
26640- }
26641- else if (this.options.layers5.includes(layer)) {
26663+ } else if (this.options.layers5.includes(layer)) {
2664226664 if(!this.groupedOverlayMaps['Open Weather Map']) {
2664326665 this.groupedOverlayMaps['Open Weather Map'] = { category: 'group', layers: {} };
2664426666 }
@@ -26661,15 +26683,19 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2666126683 this.onError(layer, true);
2666226684 });
2666326685 }
26664-
2666526686 this.groupedOverlayMaps['Open Weather Map'].layers[layer] = this.overlayMaps[layer];
26666- }
26667- else if (this.options.layers6.includes(layer)) {
26687+ } else if (this.options.layers6.includes(layer)) {
2666826688 this.overlayMaps[layer] = window['L']['geoJSON'][layer]();
2666926689 this.groupedOverlayMaps[layer] = this.overlayMaps[layer];
26670- }
26671- else {
26672- console.log('Incorrect Layer Name');
26690+ } else if (this.options.layers7.includes(layer)) {
26691+ if(!this.groupedOverlayMaps.indigenousLands) {
26692+ this.groupedOverlayMaps.indigenousLands = { category: 'group', layers: {} };
26693+ }
26694+
26695+ this.overlayMaps[layer] = L.layerGroup.indigenousLayers(layer);
26696+ this.groupedOverlayMaps.indigenousLands.layers[layer] = this.overlayMaps[layer];
26697+ } else {
26698+ console.log('Incorrect Layer Name: ', layer);
2667326699 }
2667426700 }
2667526701
@@ -26732,7 +26758,6 @@ L.LayerGroup.environmentalLayers = L.LayerGroup.extend(
2673226758 },
2673326759);
2673426760
26735-
2673626761L.LayerGroup.EnvironmentalLayers = function(options) {
2673726762 return new L.LayerGroup.environmentalLayers(options);
2673826763};
0 commit comments