From d7594216765bfeaedad9701f1d4f07380874580e Mon Sep 17 00:00:00 2001 From: Donna Murphy Date: Tue, 2 Feb 2021 12:11:21 -0500 Subject: [PATCH] weatherchannel --- index.html | 10 ++++++++-- weather.js | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 weather.js diff --git a/index.html b/index.html index 3233671..c4bdbf1 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,17 @@ + + - Document + + Weather App -

Hola Mundo

+

Welcome to your Daily Weather!

+
+

+ \ No newline at end of file diff --git a/weather.js b/weather.js new file mode 100644 index 0000000..0402bd6 --- /dev/null +++ b/weather.js @@ -0,0 +1,37 @@ +const locationDisplay = document.getElementById('location'); +const weatherDisplay = document.getElementById('weather'); +const userZip = prompt("What's your ZIP Code?"); +const userLink = 'http://api.zippopotam.us/us/' + parseInt(userZip); +let userLon; +let userLat; +// Convert cTof +function convertTemp(weatherLink) { + const celsius = weatherLink -273; + let fahrenheit = Math.floor(celsius * (9/5) + 32); + return fahrenheit; +} +let client = new XMLHttpRequest(); +client.open("GET", userLink, true); +client.onreadystatechange = function() { + if(client.readyState == 4 && client.status === 200) { + let zipData = JSON.parse(client.responseText); + locationDisplay.innerHTML += ` +

${zipData.places[0]['place name']}, ${zipData.places[0]['state abbreviation']}

+ `; + userLon = `${zipData.places[0].longitude}`; + userLat = `${zipData.places[0].latitude}`; + const weatherLink = `https://api.openweathermap.org/data/2.5/onecall?lat=${userLat}&lon=${userLon}&exclude=minutely,hourly&appid=dcf230f9ec9de3db7414b60015a4b1bf`; + let sevenTimer = new XMLHttpRequest(); + sevenTimer.open("GET", weatherLink, true); + sevenTimer.onreadystatechange = function() { + if(sevenTimer.readyState == 4 && sevenTimer.status === 200) { + let weatherData = JSON.parse(sevenTimer.responseText); + let currentTemp = convertTemp(weatherData.current.temp); + weatherDisplay.innerHTML += `${currentTemp}`+ ' \xB0F'; + } + } + sevenTimer.send(); + } +}; +client.send(); +