-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeteo.js
79 lines (71 loc) · 3.08 KB
/
meteo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
let cityEl = document.querySelector(".city");
let iconEl = document.querySelector(".icon");
let descriptionEl = document.querySelector(".description");
let temperatureEl = document.querySelector(".temp");
let humidite = document.querySelector(".humidite");
let ventvitesse = document.querySelector(".ventvitesse");
let dirvent = document.querySelector(".dirvent");
let pression = document.querySelector(".pression");
let gps = document.querySelector(".gps");
let tempres = document.querySelector(".tempres");
let iuv = document.querySelector(".uv");
let ventdeg = document.querySelector(".ventdeg");
let tempdem = document.querySelector(".tempdem");
/*
* * En suivant le même principe que les lignes de code ci-dessus, déclarer :
* - Humidité : à coder
* - Vitesse du vent : à coder
* - Direction du vent : à coder
* - Pression atmosphérique en hectopascals (hPa) : à coder
* - Coordonnées GPS de la ville de rodez (Latitude et Longitude) : à coder
* - Température ressentie en °C : à coder
* - Index UV : à coder
*/
let weatherEl = document.querySelector(".weather");
let weather = {
"apikey": "a6f6fef1470f473cb0694459230605",
fetchWeather: function (city) {
fetch("http://api.weatherapi.com/v1/forecast.json?key=a6f6fef1470f473cb0694459230605%20&lang=fr&units=metric&q=Rodez&aqi=&days=5").then((response) => response.json()).then((data) => this.displayWeather(data));
},
displayWeather: function (data) {
const { name } = data.location;
const { icon, text } = data.current.condition;
const { temp_c } = data.current;
const{ humidity } = data.current;
const{ wind_kph } = data.current;
const{ wind_dir } = data.current;
const{ pressure_mb } = data.current;
const{ lat } = data.location;
const{ lon } = data.location;
const{ feelslike_c } = data.current;
const{ uv } = data.current;
const { wind_degree } = data.current;
const { maxtemp_c } = data.forecast.forecast[1].day;
/*
* * En suivant le même principe que les 3 lignes de
* * code ci-dessus et en consultant le fichier JSON,
* * récupérer et Coder les différents données
* * météorologiques demandées
*/
cityEl.innerText = `Météo à ${name}`;
iconEl.src = `https:`+icon;
descriptionEl.innerText = text;
temperatureEl.innerText = `Température : ${temp_c}°C`;
humidite.innerText = `Humidité : ${humidity}%`;
ventvitesse.innerText = `Vitesse du vent : ${wind_kph}km/h`;
dirvent.innerText = `Direction du vent : ${wind_dir}`;
pression.innerText = `Pression : ${pressure_mb}hPa`;
gps.innerText = `Coordonnées : Latitude ${lat}° Longitude ${lon}°`;
tempres.innerText = `Temperature ressenti : ${feelslike_c}°C`;
iuv.innerText = `Indice UV : ${uv}`;
ventdeg.innerText = `Degrée du vent : ${wind_degree}°`;
tempdem.innerText = `Température maximal de demain : ${maxtemp_c}°C`;
/*
* * En suivant le même principe que les 4 lignes de
* * code ci-dessus, coder les champs qui seront
* * affichés dans le document HTML
*/
weatherEl.classList.remove("loading");
},
};
weather.fetchWeather("Rodez");