";
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",
`
NPSOT-SA meets on the 4th Tuesday of every month in The Gathering Hall at the Urban Ecology Center at Phil Hardberger Park and via Zoom except August, November, and December. Meetings are free and open to all. To receive information by email on how to register in advance for each monthly meeting, please join our mailing list below.
Announcements
Register for NLCP Spring Classes
NPSOT-SA will be offering Level 1 and Level 4 classes in Spring 2023. Learn More Here