From 82765b43b58f24fe89589ef596808dc2541a75f1 Mon Sep 17 00:00:00 2001 From: Shannon Date: Thu, 4 Feb 2021 16:32:05 -0500 Subject: [PATCH] weather app --- index.html | 8 +++-- main.js | 82 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 11 +++++++ weather.js | 0 4 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 main.js create mode 100644 package-lock.json create mode 100644 weather.js diff --git a/index.html b/index.html index 3233671..72ff6aa 100644 --- a/index.html +++ b/index.html @@ -3,9 +3,13 @@ - Document + + Weather App -

Hola Mundo

+

It's the weather

+
+

+ \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..f6f3e1d --- /dev/null +++ b/main.js @@ -0,0 +1,82 @@ +/*var zipcode = prompt("Please enter you zipcode") +var client = new XMLHttpRequest(); +//client.open("GET", "http://api.zippopotam.us/us/90210", true); +client.onreadystatechange = function() { + if(client.readyState == 4) { + alert(client.responseText); + } +}; +client.open('GET', 'http://api.zippopotam.us/US/' + zipcode, true); +client.send(); +*/ + +/*const dom = document.querySelector(".placeName"); +const userZip = prompt("What's your Zip Code?"); +const userLink = 'http://api.zippopotam.us/us/' + parseInt(userZip); + + +var client = new XMLHttpRequest(); + +client.open("GET", userLink,); +client.onreadystatechange = function() { + + if(client.readyState == 4) { + console.log ('working'); + + + }; + if(client.readyState == 4 && client.status === 200) { + + let zipData = JSON.parse(client.responseText); + + const {places: + [{"place name": placeName, state: state, latitude: lat, longitude: lon}] + } = zipData; + dom.textContent = placeName + ", " + state; + + let request = client.open("GET", `https://api.openweathermap.org/data/2.5/onecall?lat=${lat}&lon=${lon}&exclude=minutely,hourly&appid=dcf230f9ec9de3db7414b60015a4b1bf`) + console.log(request) + + } +} + + + +client.send(); */ + +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(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..59b5447 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,11 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "zippo": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/zippo/-/zippo-1.0.1.tgz", + "integrity": "sha1-uf5187VmH//44u0D8Gzti7of/nQ=" + } + } +} diff --git a/weather.js b/weather.js new file mode 100644 index 0000000..e69de29