";
for (let ecoregion of level3Eco) {
items.innerHTML += `
${ecoregion.name}
`;
}
div.insertAdjacentHTML(
"beforeend",
""
);
return div;
};
//requested that legend be hidden, so it's commented out
// level3legend.addTo(map);
// if (params.eco3Show !== true && params.eco4Show !== true) {
// const legend = document.querySelector(".legend-items");
// legend.style.display = "none";
// }
}
/*
*eco3Load* will load the level 3 ecoregion data. Must be TRUE in order for eco3Show to work.
*eco3Show* will automatically populate the map with the level 3 ecoregions. If not selected, the ecoregions & legend will load, but will be toggled off & minimized respectively.
*/
if (params.eco3Load === true) {
//initialize ecoregion layer
const level3Layer = new L.layerGroup();
//add loading spinner while ecoregions load
document.querySelector("#ecoregion_map").insertAdjacentHTML(
"afterend",
`
Level 3 Ecoregions Loading
`
);
const loadLevel3Ecos = async () => {
const promises = [];
for (let eco of level3Eco) {
try {
let res = await fetch(
`https://geodata.epa.gov/arcgis/rest/services/ORD/USEPA_Ecoregions_Level_III_and_IV/MapServer/11/query?where=US_L3CODE+%3D+%27${eco.id}%27&f=geojson`
);
let json = await res.json();
//add ecoregion name so it can be bound to tooltip
json.name = eco.name;
json.style = eco.style;
json.info = eco.info;
promises.push(json);
} catch (error) {
console.log(error);
}
}
Promise.all(promises).then((res) => {
document.querySelector(".spinner-container").hidden = true;
document.querySelector("#level-3-loading").style.display = "none";
for (let ecoregion of res) {
L.geoJSON(ecoregion, {
className: "l3-layer-overlay",
fillOpacity: 0.2,
weight: 1,
color: ecoregion.style,
})
//TODO currently uses unsplash filler images, needs to be updated in future with actual ecoregion pictures
.bindTooltip(ecoregion.name, { className: "ecoregion-popup" })
.on("click", function (e) {
l3sidebar.setContent(`
${ecoregion.name}
Level 3 Ecoregion
${ecoregion.info}
Reference: Griffith, Bryce, Omernick & Rodgers (2007). Ecoregions of Texas.`);
l3sidebar.show();
})
.addTo(level3Layer);
}
//add the layer to the map
if (params.eco3Show === true) {
map.addLayer(level3Layer);
}
//add layer to overlay so it can be toggled
layerControl.addOverlay(level3Layer, "Level 3 Ecoregions");
});
};
loadLevel3Ecos();
//initialize sidebar
const l3sidebar = L.control.sidebar("l3sidebar", {
position: "left",
});
//add controls to sidebar
map.addControl(l3sidebar);
}
/*
*eco4Load* will load the level 3 ecoregion data. Must be TRUE in order for eco4Show to work.
*eco4Show* will automatically populate the map with the level 4 ecoregions. If not selected, the ecoregions & legend (for level 3 ecoregions) will load, but will be toggled off & minimized respectively.
*/
if (params.eco4Load === true) {
//initialize ecoregion layer
const level4Layer = new L.layerGroup();
//add loading spinner while ecoregions load
document.querySelector("#ecoregion_map").insertAdjacentHTML(
"afterend",
`
Level 4 Ecoregions Loading
`
);
const loadLevel4Ecos = async () => {
const lvl4Promises = [];
for (let eco of level4Eco) {
try {
let res = await fetch(
`https://geodata.epa.gov/arcgis/rest/services/ORD/USEPA_Ecoregions_Level_III_and_IV/MapServer/7/query?where=US_L4CODE+%3D+%27${eco.id}%27&f=geojson`
);
let json = await res.json();
//add ecoregion name so it can be bound to tooltip
json.name = eco.name;
json.style = eco.style;
json.info = eco.info;
lvl4Promises.push(json);
} catch (error) {
console.log(error);
}
}
Promise.all(lvl4Promises).then((res) => {
if (params.eco3Load === false && params.eco4Load === true) {
document.querySelector(".spinner-container").hidden = true;
}
document.querySelector("#level-4-loading").style.display = "none";
for (let ecoregion of res) {
L.geoJSON(ecoregion, {
className: "l4-layer-overlay",
fillOpacity: 0.4,
weight: 1,
color: ecoregion.style,
})
//TODO currently uses unsplash filler images, needs to be updated in future with actual ecoregion pictures
.bindTooltip(ecoregion.name, { className: "ecoregion-popup" })
.on("click", function (e) {
l4sidebar.setContent(`
${ecoregion.name}
Level 4 Ecoregion
${ecoregion.info}
Reference: Griffith, Bryce, Omernick & Rodgers (2007). Ecoregions of Texas.`);
l4sidebar.show();
})
.addTo(level4Layer);
}
if (params.eco4Show === true) {
//add the layer to the map
map.addLayer(level4Layer);
}
//add layer to overlay so it can be toggled
layerControl.addOverlay(level4Layer, "Level 4 Ecoregions");
});
};
loadLevel4Ecos();
const l4sidebar = L.control.sidebar("l4sidebar", {
position: "right",
});
map.addControl(l4sidebar);
}
/*
*chapterLoad* will load the chapter location pins & chapter counties to create a "heatmap". Must be TRUE in order for chapterShow to work.
*chapterShow* will automatically populate the map with the chapter location pins & chapter counties. If not selected, the chapter location pins & chapter counties will load but will be toggled off.
*/
if (params.chapterLoad === true) {
const loadChapters = async () => {
const chapterOptions = { ...iconOptions };
chapterOptions.borderColor = "#3c5799";
chapterOptions.textColor = "#3c5799";
chapterOptions.icon = "users";
//initialize layer for chapter pins
const chapterPins = new L.LayerGroup();
//initialize layer for chapter counties
const chapterCounties = new L.LayerGroup();
//storage for chapter counties
const countyArr = [];
//add loading spinner while ecoregions load
document.querySelector("#ecoregion_map").insertAdjacentHTML(
"afterend",
`
We encourage everyone to turn off non-essential lights at night from 11 pm – 6 am during the full fall and spring migration periods, and where conflicts apply, prioritize lights out during the critical peak migration periods.